我正在从文件中绘制数据。数据点采用公制单位。我想在右侧(y2)显示标准单位的第二个比例。
该文件代表火箭发动机推力随时间的变化。数据以牛顿为单位。我想在左边显示牛顿(这自然会发生),在右边显示磅力。转换是一个简单的因素(将 N 乘以 0.2248 以获得 lbf)。
我可以设置 y2tics,如果我手动设置 y2range,它们会出现在右侧。我不知道如何将 y2range 自动设置为 y1range * 一个因子。
我最终的解决方案是绘制两次,一次在 y1 上以牛顿为单位,一次在 y2 上以磅为单位,并使 y2 绘图几乎不可见:
plot '-' using 1:($2*0.2248) with dots axes x1y2 lc rgb 'white' notitle, \
'' using 1:2 with lines lc rgb '<color>' title '<title>'
上面的解决方案通常会产生稍微不同的 y 比例:使用 autoragne,gnuplot 会向上取整范围,因此每个轴上的顶部刻度是一个整数,当然不同单位的取整是不同的。
最终,我得到了在每个图中找到最高推力值的 Python 代码,然后我明确地将 yrange 设置为该数字,并将 y2range 设置为该数字 * 0.2248:
f.write("set yrange [0:%s]; set y2range[0:%s]\n" % (peak_thrust, peak_thrust*NEWTON_LBF));
这是最终结果:http ://www.lib.aero/hosted/motors/cesaroni_12-15-12.html (下图示例)