MATLAB作直方图和改横坐标为变量名称且竖着显示
1、首先准备好需要用于作图的“带变量名样本数据.xlsx”Excel表格,如下图所示。
2、有了带变量名样本数据.xlsx”Excel表格后,将将表格数据和变量名称都读入到MATLAB中,代码如下:[yb_data,yb_name]=xlsread('带变量名样本数据.xlsx');%读入带变量名样本数据,数据放在yb_data中,变量名称放在yb_name中。运行结果如下图所示。
3、然后计算带变量名样本数据的大小,使用size函数即可,决定后续程序循环起止范围。程序如下:[n,p]=size(yb_data);n行,p列,运行结果如下。
4、接下来作直方图,使用bar函数。程序如下:subplot(2,2,1);bar (yb_data(1:p))其中subplot是指定在figure中位置和划分图数量,(2,2,1)代表划分了4个作图区间,在第一个作图区间作图。作出的直方图如下图所示,可以发现下面的直方图还是很难被理解,需要进一步添加注释修改直方图以帮助理解。
5、进一步添加注释修改直方图。首先,将横坐标的刻度更改成与实际数据数量一样多的刻度个数。程序如下:set(gca, 'XTick', [1:p]) % X坐标轴刻度数据点位置个数其中p就是上面计算的列数。运行结果如下。发现基本上没有差别是因为变量个数比较少,当变量个数比较多的时候,坐标轴就变化很大了,从原先区间代表变成点代表。
6、下面为纵坐标y轴添加标签“数值”,和将刻度名称更改成变量的名称。MATLAB代码如下:ylabel('数值'稆糨孝汶;);set(gca, 'XTickLabels', {yb_name{:,1:p}})运行结果如下。可以发现虽然成功将刻度名称更改成了变量的名称,但是显示的时候出现文字重叠情况,需要将变量名称进行旋转调整以清晰可见。
7、接下来将变量名称竖着或斜着显示。程序如下:set(gca,'XTickLabelRotation',46)说明:改变数字46可以改变变量名称旋转的角度,这里46代表旋转了46度。运行结果如下。可以发现将变量名称进行了旋转,清晰可见了。
8、最后,在图上添加一个标题“直方图”以说明所作的图的含义。使用标准作图函数title即可。程序如下:title('直方图');运行后在图上添加了标题,如下图所示。
9、完整的“MATLAB作直方兔脒巛钒图和改横坐标为变量名称且竖着显示”代码及截图如下所示:[yb_data,yb_name]=xlsread('带变量名样本数据.xlsx');%读入带懈吡赜痖变量名样本数据,数据放在yb_data中,变量名称放在yb_name中[n,p]=size(yb_data);subplot(2,2,1);bar (yb_data(1:p))set(gca, 'XTick', [1:p]) % X坐标轴刻度数据点位置个数ylabel('数值');set(gca, 'XTickLabels', {yb_name{:,1:p}})set(gca,'XTickLabelRotation',46)title('直方图');