绘图时可以使用实时编辑器。
主要是根据去年我在CSDN上看到的资料集百几家之长整理的哦,我不是计算机专业的,科研还处于起步阶段,更新文章比较慢和随缘。大家有需要收藏吧,不是很建议关注。
- 柱状统计图
bar ,bar3, barh和bar3h,其中 bar 和bar3分别用来绘制二维和三维竖直方图, barh 和bar3h分别用来绘制二维和三维水平直方图,调用格式是:
bar ( x , y )
其中 x 必须单调递增或递减, y 为 n*m 矩阵,可视化结果为 m 组,每组n个垂直柱,也就是把 y 的行画在一起,同一列的数据用相同的颜色表示;
bar ( x , y , width )(或 bar ( y , width ))
上面的代码是指定每个直方条的宽度,如 width >1,则直方条会重叠,默认值为 width =0.8;
bar (…,' grouped ')
上面的代码是使同一组直方条紧紧靠在一起;
bar (…,' stack ')
上面的代码是把同一组数据描述在一个直方条上。
1.柱状图(竖直)
x = 2012:1:2020; %分别为:最小:间距:最大
y = [1, 4, 2, 8, 49, 122, 358, 859, 1477];%每个条形对应的值
b = bar(x, y, 0.6) %0.6表示条形图宽度,可修改b = bar(x, y, 0.6,’red’)可以改颜色,默认是下图的蓝色
xlabel('年份')
ylabel('数值')
title('xxx销售量')%图名
set(gca,'ylim',[0,1600],'ytick',[0:200:1600]); %纵坐标数值为0到1600,每隔200显示刻度
set(gca, 'Ygrid','on'); %纵坐标刻度显示网格
xtips1 = b.XEndPoints;
ytips1 = b.YEndPoints; %获取 Bar 对象的 XEndPoints 和 YEndPoints 属性
labels1 = string(b.YData); %获取条形末端的坐标
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
'VerticalAlignment','bottom') %将这些坐标传递给 text 函数,并指定垂直和水平对齐方式,让值显示在条形末端上方居中处
如果一个年份对应几个柱:
y = [10,20,30,40,50;
10,20,30,40,50;
10,20,30,40,50];
每个柱子对应的数据之间用;隔开。
2.柱状图(水平)
clear;
clc;
c = ['不感兴趣','觉得没必要','反正首页会刷到','其他'];
x = [1,2,3,4];
y = [21.43,30.95,57.14,7.14];
b=barh(x,y,0.6); %使用横向的坐标
set(gca,'YTickLabel',{'A','B','C','其他'});
set(gca,'xticklabel',{'0%','10%','20%','30%','40%','50%','60%'});
%显示每个柱子上标注
xtips=b(1).XEndPoints;
ytips=b(1).YEndPoints;
label=string(b(1).YData)+'%';
text(ytips,xtips,label,'HorizontalAlignment','left')
3.三维柱状图
普通三维图:(可以用鼠标拖动,找一个适宜的视角,或引入view函数)
y = [5 8 2 9
3 5 8 6];
figure
bar3(y)
参考:CSDN博客-Matlab绘图系列教程-基础绘图:柱状图 (bar函数 )
CSDN博客-【MATLAB基础绘图第2棒】绘制柱状/饼图填充图
当时应该还参考了别的,找不到了qwq