matlab中的bar, barh

来源:互联网 发布:中国出境游数据 编辑:程序博客网 时间:2024/06/07 09:03

绘制直方图(水平和垂直的)

语法

bar(Y) 
bar(x,Y) 
bar(...,width) 
bar(...,'style') 
bar(...,'bar_color') 
bar(axes_handle,...) 
h = bar(...) 
hpatches = bar('v6',...)

barh(...) 
h = barh(...) 
hpatches = barh('v6',...)

描述

一个条形图展示向量或者矩阵的值,使用水平的或者垂直的直方图。

1、bar(Y):为Y中的每一个元素绘制一个条。如果Y是一个矩阵,会对每一行元素所产生的条进行分组。当Y是一个向量时,x轴的刻度范围是1到Y的长度,当Y是一个矩阵时,长度即是行的数量。

2、bar(x,Y):为Y中的每一个元素在指定的x位置绘制条形图。x是一个单调增加的向量,其用来定义垂直直方图中的x轴间距。如果Y是一个矩阵,bar对Y中的每行元素在指定x位置进行分组。

3、bar(...,width):设置相关bar的宽度和控制一个组之间bar的距离。默认宽度是0.8,所以如果你不指定x,这些一个组内的bars有一个比较小的距离。如果宽度是1,则一个组内的bars是相互紧挨着的。

4、bar(...,'style'):指定bars的样式。样式是'grouped' or 'stacked'。默认是'grouped'

'grouped':表示展示m个组的每组n个垂直直方图。m代表矩阵行数,n代表矩阵列数。

'stacked':表示为每一行展示一个bar,bar的高度是每一行元素的总和。每一个bar是多种颜色,根据颜色的分布显示各元素对总元素的贡献。

5、bar(...,'bar_color'):使用单个字母缩写 'r', 'g', 'b', 'c', 'm', 'y', 'k', or 'w'所指定的颜色展示bar.

6、bar(axes_handles,...) and barh(axes_handles,...):使用指定句柄的坐标轴代替当前坐标轴。

7、h = bar(...):返回barseries图形对象句柄的向量。bar为Y中每列创建一个barseries图形对象。

8、barh(...) and h = barh(...):创建水平直方图。Y决定bar的长度。向量x是一个自增的向量,用来定义y轴上直方图的间距。

向后兼容版本

hpatches = bar('v6',...) and hpatches = barh('v6',...):对于兼容版本MATLAB 6.5和更早,返回 的是patch对象的句柄而不是 barseries对象的。

示例

Single Series of Data

这个示例绘制钟形曲线作为直方图,设置其颜色为红色。

x = -2.9:0.2:2.9; 
bar(x,exp(-x.*x),'r')

Bar Graph Options

这个示例显示一些条形图设置选项

Y = round(rand(5,3)*10); 
subplot(2,2,1) 
bar(Y,'group') 
title 'Group' 
subplot(2,2,2) 
bar(Y,'stack') 
title 'Stack' 
subplot(2,2,3) 
barh(Y,'stack') 
title 'Stack' 
subplot(2,2,4) 
bar(Y,1.5) 
title 'Width = 1.5'

Setting Properties with Multiobject Graphs

这个示例展示了3组,每组5个barseries对象的直方图。由于所有的barseries对象共用同一个基线,所以你可以使用任何一个对象去设置其BaseLine属性。这个例子使用返回h的第一个句柄。

Y = randn(3,5); 
h = bar(Y); 
set(get(h(1),'BaseLine'),'LineWidth',2,'LineStyle',':') 
colormap summer % Change the color scheme

0 0