matlab用histfit画直方图+拟合曲线

matlab画直方图+拟合曲线

成图效果

在这里插入图片描述

1 数据格式

应该准备一个double的数组,如果是csv或者xlsx直接拖进matlab是table型,这是无法作为绘图参数的
如果是table型,可以使用table2array(data)进行转换
在这里插入图片描述

2 绘制步骤

本文不使用脚本,只使用命令行,绘制简单的带有拟合曲线的直方图只需要一个函数histfit,这也是histogram和fitting的组合缩写。

  1. 加载你的数据,首先把数据拖进来,不管用什么方法,拖到右边的工作区里面
    比如我有个数据是用Excel导出来的,叫demo,那么我就demo= table2array(demo),得到double的demo,这时候工作区会显示double的demo。
  2. 画图
% 简单出图
histogram(demo)   

% 修改直方图柱子数量,想写多少写多少
histogram(demo,20)   

% 改变柱子颜色,这个语法和histogram不同!!!
h(1).FaceColor = "g";

% 简化代码,令h代表histogram
h = histogram(demo,20) 

% 为了出图好看,限制x轴的区间范围
xlim([-5, 5])

% 改变滤波算法为'kernel'
h = histogram(demo,20'kernel') 

% 添加xy轴的标题,大标题
xlabel('value')
ylabel('count')
title('demooooooo')

% 添加图例,这个需要自己调整图例的指向顺序
legend({
    
    'Statistical','Fitted curve'},'Location','southwest')

3 后话

histfit和histogram大部分的语法是相同的,但是bar的颜色方面有些区别

参考资料:
https://ww2.mathworks.cn/help/stats/histfit.html
https://ww2.mathworks.cn/help/matlab/ref/matlab.graphics.chart.primitive.histogram.html?s_tid=doc_ta#d124e606591

matlab里面做的图后期可以导出为eps再去AI里面精修,所以在matlab里面弄个大概就行了

感谢室友贤强的帮助!! 感谢室友贤强的帮助!! 感谢室友贤强的帮助!!


感谢阅读

猜你喜欢

转载自blog.csdn.net/qq_41159191/article/details/131563600
今日推荐