从本文开始,讲述MATLAB的离散数据图绘图函数。在MATLAB中,离散数据图一共包括四种类型,分别是:
- 条形图,包括:bar 条形图、barh 水平条形图、bar3 绘制三维条形图、bar3h 绘制水平三维条形图和pareto 帕累托图,bar和bar3函数在(一)中有涉及,但没有详细讲述过;
- 针状图,包括:stem和stem3函数,用于绘制离散序列数据,在(一)中有涉及,没有详细讲述过;
- 散点图:包括:scatter和scatter3函数,用于绘制散点,详见(二);
- 阶梯图,包括:stairs函数,在(一)中有涉及,但没有详细讲述。
本文主要讲述条形图绘制,即bar、barh、bar3和bar3h四个函数。
注意:条形图和直方图有本质区别。直方图histogram函数非常强大,具备数据分组功能和绘图功能,详见(六),而条形图只具备绘图功能。直方图着重于数据分布,而条形图着重于离散数据展示。
1 二维条形图bar和barh函数
1.1 用法
bar(y)
bar(x,y)
bar(___,width)
bar(___,style)
bar(___,color)
bar(___,Name,Value)
bar(ax,___)
b = bar(___)
bar(y) 创建一个条形图,y 中的每个元素对应一个条形。如果 y 是 m×n 矩阵,则 bar 创建每组包含 n 个条形的 m 个组。
bar(x,y) 在 x 指定的位置绘制条形。
bar(___,width) 设置条形的相对宽度以控制组中各个条形的间隔。将 width 指定为标量值。可以将此选项与前面语法中的任何输入参数组合一起使用。
bar(___,style) 指定条形组的样式。例如,使用 'stacked' 将每个组显示为一个多种颜色的条形。
bar(___,color) 设置所有条形的颜色。例如,使用 'r' 表示红色条形。
bar(___,Name,Value) 使用一个或多个名称-值对组参数指定条形图的属性。仅使用默认 'grouped' 或 'stacked' 样式的条形图支持设置条形属性。在所有其他输入参数之后指定名称-值对组参数。有关属性列表,请参阅 Bar 属性。
bar(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
b = bar(___) 返回一个或多个 Bar 对象。如果 y 是向量,则 bar 将创建一个 Bar 对象。如果 y 是矩阵,则 bar 为每个序列返回一个 Bar 对象。显示条形图后,使用 b 设置条形的属性。 [1]
注意,bar和barh函数绘图原理、用法等完全一致。
1.2 示例1
clc
clear all
close all
x = 2:8;
y = rand(length(x),1);
subplot(3,1,1)
bar(x,y)
subplot(3,1,2)
bar(x,y,1)
subplot(3,1,3)
bar(x,y,0.5)