当前位置: 首页>编程语言>正文

grafana 双纵轴 双纵轴柱形图

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

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

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

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_柱状图,第1张

来源:百度知道

要么两者是分开的:

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_论文插图_02,第2张

来源:CSDN-tianren9

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

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

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_可视化_03,第3张

 

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

像这样:

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_可视化_04,第4张

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

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);

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_可视化_05,第5张

3. 左轴绘制

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

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_可视化_06,第6张

看到了吗?

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

4. 右轴绘制

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

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

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_柱状图_07,第7张

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

grafana 双纵轴 双纵轴柱形图,grafana 双纵轴 双纵轴柱形图_可视化_04,第4张

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

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

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


https://www.xamrdz.com/lan/55v1957301.html

相关文章: