我想知道如何使用 gnuplot 为独立的ytics
和y
轴设置相同数量的y2
,仍在使用自动缩放,以便网格很好地对齐。
现在,正如您在下面看到的那样,6
轴有y
个刻度,7
有y2
个刻度,图表看起来很难阅读。
答案 0 :(得分:2)
据我所知,Gnuplot只允许你指定定义抽搐的增量而不是它们的数量。稍微肮脏的解决方法是首先将图形生成“假”终端,记住每个轴上检测到的自动缩放范围,计算所需的抽搐间距,最后使用这些设置生成图像。
N = 6
set term unknown
set ytics
set y2tics #setting y2tics affects autoscale
set ylabel 'MSE'
set y2label 'CE'
set grid
set format y "%.2f"
set format y2 "%.1f"
plot \
'mse.dat' u 1:2 axis x1y1 w l t 'MSE', \
'ce.dat' u 1:2 axis x1y2 w l t 'CE'
min_y1 = GPVAL_Y_MIN
max_y1 = GPVAL_Y_MAX
min_y2 = GPVAL_Y2_MIN
max_y2 = GPVAL_Y2_MAX
dy1 = (max_y1 - min_y1) / N
dy2 = (max_y2 - min_y2) / N
set ytics min_y1, dy1
set y2tics min_y2, dy2
set yr [min_y1:max_y1]
set y2r [min_y2:max_y2]
set term png enhanced
set output "test.png"
replot