文章目录

  • 1. 二维竖直直方图 bar
    • 1.1 单组数据比较
    • 1.2 多组数据比较

1. 二维竖直直方图 bar

1.1 单组数据比较

# version 1: 默认绘图
y = [0.4, 0.3, 0.6, 0.8];
bar(y);

假设现在有四个数据 0.4, 0.3, 0.6, 0.8 需要比较,直接将它们设置为 y 值,然后通过 bar(y) 绘制柱状图,默认是介个样子,比较丑:

@ 改变数值设置

现在需要规整一下我们的 x 轴标签设置,并且将 y 坐标的最大值放在 1 上,因为 0.8 顶格很丑…

x 轴标签默认其实是 x = 1:nn 为提供给 y 的数据个数,所以上面的例子默认显示出来就是 1 到 4 了。

(1)如果想要改成其他数字,只需要设置 m:n,x 轴的标签就会显示为 m, m+1, m+2 ..., n,只需要注意 x 轴标签个数和 y 数值个数一致即可。
(2)如果需要 x 轴标签带 “跨度”,只需要设置一个步长即可,比如 1:2:7,就是从 1 到 7 步长为 2 的标签,显示在上例中就是 1, 3, 5, 7
(3)这里我们想要将 x 轴标签设置为具体的名称,需要用到 XTickLabel,在花括号内填入自己想要的名称即可,具体见下例。
(4)对于 y 轴标签范围的设置,使用 ylim 就能设置到自己想要的范围啦。

# version 2:改变数值设置y = [0.4, 0.3, 0.6, 0.8];
bar(y);
# y轴标签范围
ylim([0.2 1]);
# x轴标签设置
set(gca, 'XTickLabel',{'baseline','method-1','method-2','ours'});

@ 改变外观

(默认颜色不知道为什么就是有一股陈年的气息… )

这里使用 bar 方法中的参数 FaceColor 控制条柱颜色,另外设置了条柱宽度:

# version 2:改变外观y = [0.4, 0.3, 0.6, 0.8];
# 外观
width = 0.5;
bar(y, width,'FaceColor',[176,224,230]/255);
# 标签设置
ylim([0.2 1]);
set(gca, 'XTickLabel',{'baseline','method-1','method-2','ours'});

这里注意 bar 要放在其他属性设置之前,否则会无效。可以自己实际尝试一下。

其他可以改变的外观属性还有很多,条柱的线型、线宽、线的颜色等等,做个小例子:

# 其他尝试
y = [0.4, 0.3, 0.6, 0.8];
width = 0.5;
bar(y, width, ...'FaceColor',[176,224,230]/255, ...'EdgeColor',[40,71,92]/255, ...'LineWidth',2, ...'LineStyle','--');

  • bar(x,y,width) 中的 width 设置条柱的宽度,默认是 0.8,所以默认会显得比较胖,通过设置为 0.5 让它们间隔大一些,同理如果设置为 1 那所有条柱就是紧挨着的了,如果设置宽度大于 1,那么条柱会发生重叠;
  • FaceColor 设置条柱的 填充色,强调一下它和 边缘色 没有关系;
  • EdgeColor 设置条柱的 边缘色,默认是黑色的;
  • LineWidth 设置条柱的 边缘线宽
  • LineStyle 设置条柱的 边缘线型,可选参数有 '-' | '--' | ':' | '-.' | 'none'

@ 添加图表说明

# version 3:添加图表说明y = [0.4, 0.3, 0.6, 0.8];
# 外观
width = 0.5;
bar(y, width,'FaceColor',[176,224,230]/255);
# 标签
ylim([0.2 1]);
set(gca, 'XTickLabel',{'baseline','method-1','method-2','ours'});
# 说明
xlabel('Methods');
ylabel('Score');
title('Compare');


@ 其他特殊设置

1. 指定基线、绘制网格

y = [0.4, 0.3, 0.6, 0.8];
width = 0.5;
bar(y, width, ...'FaceColor',[176,224,230]/255, ...'BaseValue',0.5);
ylim([0.2 1]);
set(gca, 'XTickLabel',{'baseline','method-1','method-2','ours'});
xlabel('Methods');
ylabel('Score');
title('Compare');
grid on;

  • BaseValue 指定了基线
  • grid on 绘制网格

2. 使用堆叠柱状图

使用了堆叠柱状图,设置条柱的颜色,去掉柱状图黑色边框、添加图例。

data = [a1,b1,c1; a2,b2,c2];
# line 2
h = bar(data, 'stack');
set(h,'edgecolor','none');
set(h(1),'facecolor',[253,245,230]/255);
set(h(2),'facecolor',[245,222,179]/255);
set(h(3),'facecolor',[210,180,140]/255);# line 8
ht = legend('good', 'moderate', 'failure');
set(ht, 'edgecolor', [0.8,0.8,0.8]);
  • line 2:使用堆叠柱状图
  • line 3:设 h 为柱状图变量,通过 edgecolor 去掉条柱的边缘颜色
  • line 8:设 ht 为图例变量,通过 edgecolor 设置图例的边框颜色,[1,1,1] 为白色,[0,0,0] 为黑色,这里设置 [0.8,0.8,0.8] 为浅灰色

1.2 多组数据比较

# version 1: 默认绘图
y=[5 4 3 2 9; 4 8 7 2 7; 1 9 5 7 3];
bar(y)

通过将 y 设置为 m x n 的矩阵,可以用于比较 m 个不同方法的 n 组数据。

这里有 三个方法,比较 五个指标,注意到每个方法的对应指标颜色都是相同的。

论文常用图表一:柱状图【MATLAB】相关推荐

  1. Apache Echarts常用图表之柱状图

    文章目录 Echarts常用图表 柱状图 1. 柱状图的实现步骤 2. 柱状图的常见效果 最大值\最小值 `markPoint` 平均值 `markLine` 数值显示 `label` 柱宽度 `ba ...

  2. 论文常用图表四:Bland-Altman图【MedCalc】

    绘制软件:MedCalc 用途:数据一致性分析 关于数据一致性分析,参考:数据一致性分析 & Bland-Altman图 对同一组样本进行测试,得到两组测试结果 GT 和 X,将 GT 作为 ...

  3. 数据可视化:常用图表使用总结

    文章对常见的数据可视化图表进行了简单的汇总分析,希望对你有益. 什么是数据可视化? 数据可视化,简简单单就是把数据展示出来吗?非也非也,其终极是为了满足用户对数据的价值期望,利用数据,借助可视化工具, ...

  4. ECharts 常用图表一看即会「散点图」「饼图」「地图」「雷达图」「仪表盘」

    文接上篇 ECharts 入门知识 ECharts 入门真的很简单 ,本文继续介绍 ECharts 常用图表相关内容. 一.散点图 散点图多用于推断不同维度数据之间的相关性,如下图判断身高体重相关性散 ...

  5. 第五章. 可视化数据分析图表—常用图表的绘制2—直方图,饼形图

    第五章. 可视化数据分析图 5.3 常用图表的绘制2-直方图,饼形图 本节主要介绍常用图表的绘制,主要包括直方图,饼形图. 1.直方图(matplotlib.pyplot.hist) 直方图,又称质量 ...

  6. [论文阅读] (26) 基于Excel可视化分析的论文实验图表绘制总结——以电影市场为例

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  7. 数据可视化之旅:常用图表对比

    <七天数据可视化之旅>第五天:常用图表对比 作者:Destiny 来源:木东居士 Destiny,某物流公司数据产品经理,目前从事数据平台搭建和可视化相关的工作.持续学习中,期望与大家多多 ...

  8. Apache Echarts常用图表之折线图

    文章目录 Echarts常用图表 折线图 1. 折线图的实现步骤 2. 折线图的常见效果 最大值\最小值 `markPoint` 平均值 `markLine` 标注区间 `markArea` 数值显示 ...

  9. 数据可视化ECharts的七大常用图表,看完就会用(1)

    本文的后半部分:数据可视化ECharts的常用图表,看完就会用(2) 文章目录 数据可视化 什么是数据可视化? 数据可视化的好处 数据可视化的实现方式 ECharts ECharts的特性 一个ECh ...

  10. 最常用的10个Matlab快捷键,助你编程更高效

    本文转载:最常用的10个Matlab快捷键,助你编程更高效 目录 1. 屏蔽大段程序:Ctrl+r 2. 自动对齐程序:Ctrl+i 3. 直接跳至某行:Ctrl+g 4. 设置标签:Ctrl+F2 ...

最新文章

  1. 怎样在Spark、Flink应用中使用Protobuf 3的包
  2. CentOS系统快捷方式设置
  3. 004_JSONArray对象公共方法
  4. geo数据差异分析_GeoDiver:GEO数据挖掘分析利器
  5. java图像处理之拉普拉斯锐化和一阶微分梯度锐化
  6. vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on.
  7. 泰勒公式的展开细节解析、本质、联想与思考
  8. 生物信息学 | GEO介绍与安装
  9. 贝叶斯分析好坏_浅析贝叶斯定理及其应用
  10. 开发人员必知!什么是Scrum敏捷开发?
  11. MBTI性格测试:你是哪种动物?准到可怕!
  12. CPU玩的是效率!超线程双核PK物理三核
  13. qt开发linux界面软件,利用Qt Designer开发Qt界面
  14. 基于CUDA的GPU并行计算技术实现网课课表编排
  15. 阿里云和华为云各自的优势
  16. php导出数据库为excel文件,phpexcel导出数据库成excel文件
  17. 大数据毕设/课设 - 水质情况实时监测预警可视化设计与实现
  18. 第三章 流程控制语句
  19. 韩国计算机硕士累吗,在韩国读研究生有多心累...
  20. mini2440的pwm驱动程序和测试程序详解

热门文章

  1. 下载百度文库任意文档
  2. 对javaWeb理解
  3. 第八十五章 Caché 函数大全 $ZDATETIME 函数
  4. Android面试之J2SE基础
  5. 进化算法和深度强化学习的关系?
  6. 神工鬼斧惟肖惟妙,M1 mac系统深度学习框架Pytorch的二次元动漫动画风格迁移滤镜AnimeGANv2+Ffmpeg(图片+视频)快速实践
  7. besiege机器人_围攻besiege机器人 机器人制作思路
  8. uniapp—— 微信小程序ios上音频播放没有声音
  9. Flash制作大雪纷飞效果动画
  10. qcloud-ocr