2014-01-06 5 views
1

Я хотел бы иметь возможность накладывать несколько графиков с использованием мультимножества. Я хотел бы включить автомасштабирование, чтобы получить максимальное разрешение, но я обнаружил, что каждый набор данных независимо масштабируется. Кто-нибудь знает, как я могу масштабировать все графики на одну и ту же сумму, чтобы все они были правильны относительно друг друга?Масштабирование оси Y множителя Gnuplot

Мои данные передаются по трубе из внешней системы, но вот простой пример. Если я построю эти два сигнала, я бы хотел, чтобы шкала графика составляла +/- 2.0 (от cos), а затем грех, который нужно масштабировать соответствующим образом, чтобы он составлял только половину высоты cos, а не одну и ту же высоту.

set multiplot 
plot sin(x) with lines ls 1 linecolor rgb "blue" 
plot 2*cos(x) with lines ls 1 linecolor rgb "red" 
unset multiplot 

ответ

0

Нет, внутри мультиплексора вы не можете автоматически перемасштабировать предыдущий участок, основываясь на данных текущего графика. Данные предыдущего графика недоступны для более поздних манипуляций (масштабирование, повторная сортировка, масштабирование и т. Д.). Запустите свой минимальный скрипт и попытайтесь увеличить масштаб; вы получите только увеличенный последний график.

Можно выполнить команду stats для каждого набора данных, чтобы определить максимальный диапазон.

max(x, y) = (x > y ? x : y) 
min(x, y) = (x < y ? x : y) 
do for [i=1:6] { 
    stats '-' using 1 nooutput 
    if (i == 1) { 
     ymin = STATS_min 
     ymax = sTATS_max 
    } else { 
     ymin = min(STATS_min, ymin) 
     ymax = max(STATS_max, ymax) 
    } 
} 
set yrange[ymin:ymax] 

Но поскольку вы передаете свои данные, вам нужно будет отправить все наборы данных дважды. Или вы должны определить максимальный диапазон в своем приложении и отправить команду set xrange[...] в gnuplot.

+0

Hi Christoph, Большое спасибо, как всегда, за ваши комментарии. Я уверен, что вы правы, но, похоже, большой позор, что это не стандартная функция, например, на других планах построения. FYI, я не стучу Gnuplot, потому что это все же самое лучшее :-). На данный момент я предварительно масштабирую все данные. Все лучшее, Джон – Johned

Смежные вопросы