在 gnuplot multiplot 中对齐 ylabel
Align ylabel in gnuplot multiplot
有没有办法垂直对齐 gnuplot
的 multiplot
中的 y
标签,使它们彼此下方?有问题的示例如下(红线是显示问题的注释):
set xrange[0:10]
set multiplot layout 2,1 margins 0.1,0.95,0.1,0.95 spacing 0,0
set ylabel "y1\nlabel"
set ytics
set format y "%.2f"
plot -1000*cos(x)**2 w l lt 4 lw 2
set ylabel "y2\nlabel"
set format y "%.1f"
plot cos(x) w l lt 5 lw 2
unset multiplot
生成:
而且我想自动定位标签,使红色注释行“触及相同的文本”。请注意,我真的对自动方式或更正确的方式感兴趣,即使用 set ylabel "lable" offset -x,0
进行反复试验的变通方法
正如您已经注意到的,您可以设置 x- 或 y-label 的偏移量(检查 help xlabel
),但是,没有绝对位置。
您可以通过设置自己的标签来做到这一点。可以设置相对于图形的相对于屏幕的位置and/or。 gnuplot 为第二个绘图保留这些值,无需再次指定。检查 help label
.
检查以下示例:
代码:
### align ylabels in multiplot
reset session
set xrange[0:10]
set multiplot layout 2,1 margins 0.15,0.95,0.1,0.95 spacing 0,0
set format x ""
unset ylabel
set label 1 "y1\nlabel" at screen 0.02, graph 0.5 center rotate by 90
set ytics 200
set ytics add ("" -1000) # remove -1000
set format y "%.2f"
set grid x,y
plot -1000*cos(x)**2 w l lt 4 lw 2
set format x
set label 1 "y2\nlabel"
set ytics 0.4
set format y "%.1f"
plot cos(x) w l lt 5 lw 2
unset multiplot
### end of code
结果:
有没有办法垂直对齐 gnuplot
的 multiplot
中的 y
标签,使它们彼此下方?有问题的示例如下(红线是显示问题的注释):
set xrange[0:10]
set multiplot layout 2,1 margins 0.1,0.95,0.1,0.95 spacing 0,0
set ylabel "y1\nlabel"
set ytics
set format y "%.2f"
plot -1000*cos(x)**2 w l lt 4 lw 2
set ylabel "y2\nlabel"
set format y "%.1f"
plot cos(x) w l lt 5 lw 2
unset multiplot
生成:
而且我想自动定位标签,使红色注释行“触及相同的文本”。请注意,我真的对自动方式或更正确的方式感兴趣,即使用 set ylabel "lable" offset -x,0
正如您已经注意到的,您可以设置 x- 或 y-label 的偏移量(检查 help xlabel
),但是,没有绝对位置。
您可以通过设置自己的标签来做到这一点。可以设置相对于图形的相对于屏幕的位置and/or。 gnuplot 为第二个绘图保留这些值,无需再次指定。检查 help label
.
检查以下示例:
代码:
### align ylabels in multiplot
reset session
set xrange[0:10]
set multiplot layout 2,1 margins 0.15,0.95,0.1,0.95 spacing 0,0
set format x ""
unset ylabel
set label 1 "y1\nlabel" at screen 0.02, graph 0.5 center rotate by 90
set ytics 200
set ytics add ("" -1000) # remove -1000
set format y "%.2f"
set grid x,y
plot -1000*cos(x)**2 w l lt 4 lw 2
set format x
set label 1 "y2\nlabel"
set ytics 0.4
set format y "%.1f"
plot cos(x) w l lt 5 lw 2
unset multiplot
### end of code
结果: