Matlab绘制双坐标轴柱状/条形图

书接上回(Matlab论文插图绘制模板—双轴折线图)。

假如我们想用Matlab绘制这样一幅图:

柱形图bar1表示算法的精度,柱形图bar2表示算法的运行时间,两者是同一参数X的因变量,但所代表的是完全不同的事物,很难在同一张图表示

即便是在同一张图,你能找到的,要么两者重叠在一起,

来源:百度知道

要么两者是分开的:

来源:CSDN-tianren9

如果要同一X对应两个不重叠的bar,该怎么做呢?

之前分享过Matlab柱状图的绘制模板

 

这次我们同样在其基础上升级一下,画一个双轴柱状图。

像这样:

模板中最关键的部分内容:

1. 数据准备

假如我们有数据A:

A = [98.2 88.3 96.8 94.1 93.3       12.4 8.9 11.5 9.8 9.6];

第一行表示精度(左轴),第二行表示时间(右轴)。

分别构造两个矩阵bar1和bar2:

bar1 = [A(1,:)',zeros(5,1)];bar2 = [zeros(5,1),A(2,:)'];

2. 颜色定义

一幅图,如果数据普普通通,那就得靠配色加持了。

配色是一件比较考验个人审美的工作,但至少Matlab默认的几个颜色可以先不考虑。

这里我用了之前分享的addcolor工具(Matlab绘制论文插图的270种补充颜色),选择1号和90号颜色。

C1 = addcolor(1);C2 = addcolor(90);

3. 左轴绘制

通过yyaxis left激活左轴,然后按照之前分享的柱状图绘制方法绘制bar1:

看到了吗?

由于bar1的第二列为0,所以在图上不显示。

4. 右轴绘制

同样的,通过yyaxis right激活右轴,继续绘制bar2。

由于bar2的第一列为0,同样在图上不显示。

最后,再添加一点点细节并按要求的分辨率保存:

就得到一幅满足论文要求的双轴柱状图。

至此,折线图、柱状图、双轴折线图、双轴柱状图都有模板了。

下一篇文章会分享什么大家应该能猜到了吧……

获取方式:

Matlab双轴柱状图源码icon-default.png?t=M1L8https://mp.weixin.qq.com/s/3zm_Vter3Ec8AdDqgzSaEQ

  • 12
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值