Я рисую данные из файла. Точки данных находятся в метрических единицах. Я хочу показать вторую шкалу справа (y2), что в стандартных единицах.
Файл представляет собой ракетный двигатель с течением времени. Данные находятся в Ньютонах. Я хочу показать ньютонов слева (это происходит сам по себе, естественно) и сила силы справа. Преобразование является простым фактором (умножьте N на 0.2248, чтобы получить lbf).
Я могу установить y2tics, и если я задаю y2range вручную, они появятся справа. То, что я не знаю, как сделать, - установить y2range автоматически на y1range * factor.
Мое возможное решение состоит в том, чтобы построить график дважды, один раз в Ньютонах на 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: с авторанье, 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 (примерный график ниже)