我是靠谱客的博主 眯眯眼芹菜,最近开发中收集的这篇文章主要介绍论文常用图表一:柱状图【MATLAB】1. 二维竖直直方图 bar,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 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. 二维竖直直方图 bar的全部内容,希望文章能够帮你解决论文常用图表一:柱状图【MATLAB】1. 二维竖直直方图 bar所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部