- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据导出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - If End 语句
- MATLAB - If Else 语句
- MATLAB - If…Elseif Else 语句
- MATLAB - 嵌套 If 语句
- MATLAB - Switch 语句
- MATLAB - 嵌套 Switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - For 循环
- MATLAB - While 循环
- MATLAB - 嵌套循环
- MATLAB - Break 语句
- MATLAB - Continue 语句
- MATLAB - End 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - Return 语句
- MATLAB - 空函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - Map 函数
- MATLAB - Mean 函数
- MATLAB - End 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - Try...Catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 2D 线性图
- MATLAB - 3D 图
- MATLAB - 格式化绘图
- MATLAB - 对数坐标轴绘图
- MATLAB - 绘制误差条
- MATLAB - 绘制 3D 等值线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 2D 数组插值
- MATLAB - 3D 数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 2D 逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约旦消元法
- MATLAB - 简化行阶梯形
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 杂项
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 条形图
在 MATLAB 中创建条形图是可视化分类数据的一种基本方法。MATLAB 中的条形图通过不同高度的条形来表示分类数据。bar 函数用于创建这些绘图。
语法
bar(y) bar(x,y) bar(___,width) bar(___,style) bar(___,color) bar(___,Name,Value) bar(ax,___) b = bar(___)
让我们详细了解一下语法 -
bar(y) - bar(y) 函数生成一个条形图,其中每个元素在数据集 y 中都对应一个条形。对于绘制单个条形集,将 y 作为包含 m 个元素的向量输入。这些条形在 x 轴上位于 1 和 m 之间。为了表示多个条形集,提供 y 作为矩阵,其中每一列表示一组不同的数据。
bar(x,y) - 将条形精确地放置在由 x 中的值指示的指定位置。
bar(___,width) - 允许调整相对条形宽度,影响组内条形之间的间距。将宽度定义为单个数值。将此功能与前面演示的任何输入参数组合结合使用。
bar(___,style) - 定义条形组的外观。例如,选择“stacked”以将每个组显示为具有多种颜色的单个条形。
bar(___,color) - 为所有条形提供统一的颜色。例如,指定“r”以表示红色条形。
bar(___,Name,Value) - 允许使用各种名称-值对参数自定义条形图属性。这些仅支持使用默认“grouped”或“stacked”样式的条形图。
bar(ax,___) - 该函数在由 ax 定义的坐标轴上绘制,而不是当前坐标轴 (gca) 上。ax 选项可以出现在前面演示的任何输入参数组合之前。
b = bar(___) - 生成一个或多个 Bar 对象。当 y 为向量时,将创建一个 Bar 对象。如果 y 为矩阵,则 bar 为每个序列生成一个 Bar 对象。在显示条形图后,使用 b 修改条形属性。
创建条形图
示例 1
在这里,让我们创建一个简单的条形图,如下例所示 -
y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300]; bar(y)
现在,当您在 matlab 命令窗口中执行相同的操作时,输出为 -
示例 2
在这里,我们将使用 x 和 y 向量来创建条形图,如下所示 -
x = 1900:10:2000; y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(x,y)
此代码将生成一个条形图,其中条形表示几十年来的人口增长,其中 x 轴表示年份,y 轴表示以百万计的人口。
在 matlab 命令窗口中执行后的输出如下 -
示例 3
此示例显示了如何在条形图上使用宽度。我们将使用与上例中相同的 x 和 y 值。
x = 1900:10:2000; y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(x,y, 0.2)
在 matlab 中执行后的输出为 -
示例 4:将条形组在一起
在此示例中,我们将沿 x 轴绘制 5 组三个条形。
Y = [5,2,1 8,7,3 9,8,6 5,5,5 4,3,2]; bar(Y)
执行后的输出为 -
示例 5:堆叠条形。
将条形堆叠在一起,并显示一个条形,其高度等于行的总和。
Y = [5,2,1 8,7,3 9,8,6 5,5,5 4,3,2]; bar(Y,'stacked')
执行后的输出为 -
示例 6:在条形图上显示负数据。
Y = [5,-2,1 8,7,3 -9,8,6 5,5,-5 -4,3,22]; bar(Y,’stacked’)
执行后的输出为 -
示例 7:为条形图着色
在下面的示例中,我们将为条形图提供绿色,如下所示 -
y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300]; bar(y,'g')
在 matlab 命令窗口中执行后的代码如下 -
示例 8:为条形图提供内部和轮廓颜色
下面的示例将使用 RGB 提供轮廓和内部颜色。
y = [50, 85, 110, 135, 155, 180, 210, 230, 255, 280, 300]; bar(y,'FaceColor',[0 .3 .2],'EdgeColor',[0 .7 .7],'LineWidth',1.8)
在 matlab 命令窗口中执行后的输出为 -
示例 9:带颜色图颜色的条形图
通过将 FaceColor 属性配置为“flat”来生成一个使用颜色图颜色的条形图。之后,为每个 Bar 对象的 CData 属性分配一个整数。
代码如下 -
A = [6 9 12; 13 45 7; 83 44 12]; b = bar(A,'FaceColor','flat'); for k = 1:size(A,2) b(k).CData = k; end
在 matlab 中执行后的输出为 -