条形图的几种处理方式

本文详细介绍了条形图的各种类型,包括二维、二维水平、三维和三维水平条形图,以及如何修改条形图的基线和创建叠加条形图。示例中展示了如何设置条形颜色、宽度、基线属性,以及添加误差条和图例。此外,还探讨了条形图在数据可视化中的作用,如比较不同数据集和展示时间序列数据。
摘要由CSDN通过智能技术生成

目录

修改条形图的基线

条形图种类

二维条形图

二维水平条形图

三维条形图

三维水平条形图

叠加条形图 

带有误差条的条形图 


修改条形图的基线

        此示例演示如何修改条形图基线的属性。

        创建一个四列矩阵的条形图。bar 函数为矩阵的每一列创建一个条形序列。将这四个条形序列返回为 b。

Y = [5, 4, 3, 5;
     3, 6, 3, 1;
     4, 3, 5, 4];
b = bar(Y);

        图表中的所有条形序列具有相同的基线。通过设置任一条形序列的 BaseValue 属性将基线的值更改为 2。使用圆点表示法设置属性。

b(1).BaseValue = 2;

        将基线更改为粗的红色点线。

b(1).BaseLine.LineStyle = ':';
b(1).BaseLine.Color = 'red';
b(1).BaseLine.LineWidth = 2;

条形图种类

        如果需要查看一段时间内的结果、对比不同数据集的结果,或展示单个元素对汇总量的贡献和影响,则条形图会很有用处。

        默认情况下,条形图会将一个向量或矩阵中的每个元素表现为一个条形,条形的高度与元素的值成比例。

二维条形图

        bar 函数沿着 x 轴分布条形。同一行的矩阵元素分在同一组。例如,如果矩阵包含五行三列数据,则 bar 将沿着 x 轴显示五组条形,每一组中包括三个条形。第一组条形表示 Y 中第一行的元素。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];
figure
bar(Y)

        如图所示:

        要堆叠一行中的元素,请指定 bar 函数的 stacked 选项。 

figure
bar(Y,'stacked')

        如图所示:

二维水平条形图

        barh 函数沿着 y 轴分布条形。同一行的矩阵元素分在同一组。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];
figure
barh(Y)

        如图所示:

三维条形图

        bar3 函数将每个元素绘制为一个单独的三维块,沿着 y 轴分布每列元素。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];
figure
bar3(Y)

        如图所示:

        要堆叠一行中的元素,请指定 bar3 函数的 stacked 选项。 

figure
bar3(Y,'stacked')

        如图所示: 

三维水平条形图

        bar3h 函数将每个元素绘制为一个单独的三维块,沿着 z 轴分布每列元素。

Y = [5,2,1
     8,7,3
     9,8,6
     5,5,5
     4,3,2];
figure
bar3h(Y)

        如图所示:

叠加条形图 

        此示例演示如何叠加两个条形图并指定条形的颜色和宽度。然后演示如何添加图例、显示网格线和指定刻度标签。

        创建一个条形图。将条形宽度设置为 0.5,使条形使用 50% 的可用空间。通过将 FaceColor 属性设置为一个 RGB 颜色值来指定条形的颜色。

x = [1 2 3 4 5];
temp_high = [37 39 46 56 67]; 
w1 = 0.5; 
bar(x,temp_high,w1,'FaceColor',[0.2 0.2 0.5])

        如图所示:

         在第一个条形图上绘制第二个条形图。使用 hold 函数保留第一个图形。将条形宽度设置为 .25,使条形使用 25% 的可用空间。为该条形颜色指定一个不同的 RGB 颜色值。

temp_low = [22 24 32 41 50];
w2 = .25;
hold on
bar(x,temp_low,w2,'FaceColor',[0 0.7 0.7])
hold off

        如图所示:

        添加网格线、y 轴标签,并在左上角添加图例。按照创建图表的顺序指定图例说明。 

grid on
ylabel('Temperature (\circF)')
legend({'Average High','Average Low'},'Location','northwest')

        如图所示:

        通过设置坐标区对象的 XTick 和 XTickLabel 属性,指定 x 轴刻度标签。XTick 属性用于指定沿 x 轴的刻度值位置。XTickLabel 属性用于指定每个刻度值要使用的文本。

        使用 XTickLabelRotation 属性旋转标签。使用圆点表示法设置属性。 

ax = gca;
ax.XTick = [1 2 3 4 5]; 
ax.XTickLabels = {'January','February','March','April','May'};
ax.XTickLabelRotation = 45;

        如图所示:

带有误差条的条形图 

        结合使用 bar 和 errorbar 函数创建带有误差条的条形图。

x = 1:13;
data = [37.6 24.5 14.6 18.1 19.5 8.1 28.5 7.9 3.3 4.1 7.9 1.9 4.3]';
errhigh = [2.1 4.4 0.4 3.3 2.5 0.4 1.6 0.8 0.6 0.8 2.2 0.9 1.5];
errlow  = [4.4 2.4 2.3 0.5 1.6 1.5 4.5 1.5 0.4 1.2 1.3 0.8 1.9];

bar(x,data)                

hold on

er = errorbar(x,data,errlow,errhigh);    
er.Color = [0 0 0];                            
er.LineStyle = 'none';  

hold off

        如图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值