gnuplot复合叠加图
我试图将gnuplot分解成一个堆叠的绘图,以提高可读性。我希望马力和扭矩数据在同一个图上,其他数据分别显示在下面的堆叠图上——所有数据都由相同的X轴排列。有点像这样: 我已经尝试了multiplot的变体,但似乎无法正确显示。以下是非多重打印版本:gnuplot复合叠加图,plot,gnuplot,stacked,Plot,Gnuplot,Stacked,我试图将gnuplot分解成一个堆叠的绘图,以提高可读性。我希望马力和扭矩数据在同一个图上,其他数据分别显示在下面的堆叠图上——所有数据都由相同的X轴排列。有点像这样: 我已经尝试了multiplot的变体,但似乎无法正确显示。以下是非多重打印版本: 下面是如何获得第一个链接引用的绘图类型 要在同一绘图上具有不同轴的马力和扭矩,请使用: set ytics nomirror set y2tics set ylabel 'horse power (hp)' set y2label 'torqu
下面是如何获得第一个链接引用的绘图类型 要在同一绘图上具有不同轴的马力和扭矩,请使用:
set ytics nomirror
set y2tics
set ylabel 'horse power (hp)'
set y2label 'torque (ft-lbs)'
set style data yerrorbars
plot 'output/dyno.dat' using 1:4:5 title 'Power (hp)',\
'' using 1:2:3 title 'Torque (ft-lbs)'
要叠加下面的其他数据图,需要multiplot
模式。为了使左侧和右侧的边距相等,尽管上部绘图在y2
轴上有tic和标签,但必须使用显式边距,而不是自动计算的:
set ytics nomirror
set y2tics
set ylabel 'horse power (hp)'
set y2label 'torque (ft-lbs)'
set format x ''
set xrange[1000:7000]
set style data yerrorbars
set multiplot
set lmargin 8
set rmargin 8
set tmargin 1
set bmargin at screen 0.4
plot 'output/dyno.dat' using 1:4:5 title 'Power (hp)',\
'' using 1:2:3 title 'Torque (ft-lbs)'
unset y2tics
unset y2label
set format x
set xlabel 'RPM'
set ylabel 'AFR/Timing/Boost/MAF'
set tmargin at screen 0.38
set bmargin 4
plot 'output/dyno.dat' using 1:6:7 title 'AFR'
unset multiplot
为了使结构更清晰,我省略了所有的缩放和测试函数。如果上部和下部绘图在y
轴上的位数不同,则可能需要通过偏移调整ylabel
s中的一个,以与另一个对齐,例如设置ylabel'ylabel'offset-1
。偏移量
数字以字符宽度表示
我还根据字符宽度设置了左右边距,您可能需要调整这些值。对于上图的下边缘和下图的上边缘,我使用了分数屏幕坐标
顺便说一句:如果你真的需要使用位图终端,那么使用pngcairo
而不是png
。最好使用例如pdfcairo
或类似的基于向量的输出格式
set ytics nomirror
set y2tics
set ylabel 'horse power (hp)'
set y2label 'torque (ft-lbs)'
set format x ''
set xrange[1000:7000]
set style data yerrorbars
set multiplot
set lmargin 8
set rmargin 8
set tmargin 1
set bmargin at screen 0.4
plot 'output/dyno.dat' using 1:4:5 title 'Power (hp)',\
'' using 1:2:3 title 'Torque (ft-lbs)'
unset y2tics
unset y2label
set format x
set xlabel 'RPM'
set ylabel 'AFR/Timing/Boost/MAF'
set tmargin at screen 0.38
set bmargin 4
plot 'output/dyno.dat' using 1:6:7 title 'AFR'
unset multiplot