MATLAB中如何在绘制条形图(bar graph)时,处理只有一组数据的颜色设置问题
2013-07-25 19:09
1311 查看
当使用MATLAB中的bar()函数进行条形图绘制时,如果只有一组数据,则无法直接使各样条的颜色不同,不论数据是写成行向量还是列向量形式。
这时可以在原始数据(行向量形式)基础上增加一行全为0的数据,使数据变为两行,颜色正常。接下来把坐标轴缩短即可,使用axis()函数或者xlim()函数。
缺点是:只可以在x轴统一设置,使用set()函数直接写,不过需要使用空格对齐。而不能直接设置各条数据代表的内容,因为所有数据在x轴处共占一个刻度。另一种方法是使用legend(),单独列出每个数据的含义。
接下来是一段代码实现及结果:
x=[1.2 3.1 2.2; 0 0 0];
subplot(2,2,1);
bar(x);
xlim([0 2]);% another way: axis([0 2 0 4])
subplot(2,2,2);
bar(x);
xlim([0 2]);
set(gca,'xticklabel',{'A B C',''});
subplot(2,2,3);
bar(x);
xlim([0 2])
legend('A','B','C',0)
subplot(2,2,4)
x0=[1.2 3.1 2.2]
bar(x0)
第一幅图是基本功能的实现,第二图与第三幅图分别增加了用set()与legend()函数标注数据,最后一幅是对比图。
其中subplot()函数可以把多幅图画在同一个figure中,xlim()函数设置x轴的范围,axis()同时设置x轴与y轴范围。set()函数设置当前axis的x轴刻度内容,gca表示当前axis的句柄。legend()函数设置注释,注释面板位置可以使用legend()最后的参数进行调节。
另外,也可以使用title(), xlabel(), ylabel() 函数添加一些其他信息。
这时可以在原始数据(行向量形式)基础上增加一行全为0的数据,使数据变为两行,颜色正常。接下来把坐标轴缩短即可,使用axis()函数或者xlim()函数。
缺点是:只可以在x轴统一设置,使用set()函数直接写,不过需要使用空格对齐。而不能直接设置各条数据代表的内容,因为所有数据在x轴处共占一个刻度。另一种方法是使用legend(),单独列出每个数据的含义。
接下来是一段代码实现及结果:
x=[1.2 3.1 2.2; 0 0 0];
subplot(2,2,1);
bar(x);
xlim([0 2]);% another way: axis([0 2 0 4])
subplot(2,2,2);
bar(x);
xlim([0 2]);
set(gca,'xticklabel',{'A B C',''});
subplot(2,2,3);
bar(x);
xlim([0 2])
legend('A','B','C',0)
subplot(2,2,4)
x0=[1.2 3.1 2.2]
bar(x0)
第一幅图是基本功能的实现,第二图与第三幅图分别增加了用set()与legend()函数标注数据,最后一幅是对比图。
其中subplot()函数可以把多幅图画在同一个figure中,xlim()函数设置x轴的范围,axis()同时设置x轴与y轴范围。set()函数设置当前axis的x轴刻度内容,gca表示当前axis的句柄。legend()函数设置注释,注释面板位置可以使用legend()最后的参数进行调节。
另外,也可以使用title(), xlabel(), ylabel() 函数添加一些其他信息。
相关文章推荐
- matlab之bar图只有一组数据时,如何让每个bar都有不同的颜色?
- 如何使用MATLAB绘制条形图bar graph
- 关于Excel操作编写的一个软件设计构思案例[连载] --如何把处理好后的数据导出Excel文件中(含背景\字体颜色设置)
- 利用Matlab画一组数据不同颜色的条形图(Bar)
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 如何处理ODBC中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- 问题集录--JS如何处理和解析Json数据
- 抓取网页中的内容、如何解决乱码问题、如何解决登录问题以及对所采集的数据进行处理显示的过程
- Android 处理OnItemClickListener时关于焦点颜色的设置问题
- fastjson序列化数据为空的字段如何处理的问题
- 3n+1问题大数据如何处理?
- 安卓如何设置沉浸式状态栏,注意处理华为等有虚拟按键的问题
- 如何处理Oledb中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- Java如何利用synchronized处理多线程的数据同步问题
- 集群中多线程如何处理表中的数据的问题
- MATLAB产生了一组有符号型数据,传给FPGA进行处理
- 后台线程处理数据,如何实时更新UI(datagridview)----多线程同步问题
- 如何将txt格式的数据导入到MATLAB中,并绘制图线
- 转自美团技术:机器学习中的数据清洗与特征处理综述&实例详解机器学习如何解决问题
- 如何及时处理文件数据丢失的问题呢