如何解决GNUPLOT中的层次轴
我正在尝试使用GNUPLOT绘制图形,但是我想拥有一个分层的x轴,它应该在x轴上是六个刻度点,而在x轴上的第一级标签是32,64,128,32, 64和128。在第二个标签级别中,第一个32、64和128应该分组为模板,第二个32、64和128应该分组为菱形。当前我正在做为stencil-32,stencil-64,stencil-128,diamond-32,diamond-64和diamond-128。有没有办法将其更改为分层轴标记?
解决方法
如果我正确理解了层轴的含义,那么以下代码可能是许多其他代码的一种可能方式。 您可以简单地增加下边距并添加一些标签。但是,如果您想使用某个轴,则可以选择使用多重绘图。您需要确保边距相同(尤其是左边距)。
代码:
### hierarchical axis
reset session
$Data <<EOD
1 stencil 32 0.3
2 stencil 64 0.4
3 stencil 128 0.5
4 diamond 32 0.6
5 diamond 64 0.7
6 diamond 128 0.8
EOD
myBottomMargin = 0.12
myColor(col) = strcol(col) eq "stencil" ? 0xff0000 : 0x0000ff
set multiplot
set origin 0,myBottomMargin
set size 1,1-myBottomMargin
set lmargin screen 0.1
set style fill solid 1.0
set boxwidth 0.8
set yrange [0:1]
plot $Data u 0:4:(myColor(2)):xtic(3) w boxes lc rgb var notitle
set origin 0,0
set size 1,myBottomMargin
set border 1 # only bottom border
set xtics nomirror
set xrange [0.5:2.5]
set mxtics 2
set xtics 1 add ("stencil" 1,"diamond" 2) scale 0,1
set yrange [0:1]
unset ytics
unset key
plot NaN # dummy plot just for the extra axis
unset multiplot
### end of code
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。