Несколько графиков gnuplot не являются интерактивными - PullRequest
3 голосов
/ 29 ноября 2011

Я рисую несколько графиков с помощью сценария оболочки в gnuplot.Графики нарисованы правильно, но я не могу увеличить.Нужно ли устанавливать какую-либо переменную?Вот код:

---   for loop of script starts---
    gnuplot -persist <<EOF
            set term x11 1
            set title "IP : $ip Upstream capacity:$UP_CAP kbps"
            plot 'trace-0-dir1.txt' using (\$1-$min1):(\$2-\$1-$mindelay1) with lp
            set term x11 2
            set title "IP: $ip Downstream capacity:$DOWN_CAP kbps"
            plot 'trace-0-dir2.txt' using (\$1-$min2):(\$2-\$1-$mindelay2) with lp

    EOF
   ---for loop ends---

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

При выходе из окна «x11 1» масштабирование отключается. Чтобы восстановить контроль, вы должны переключиться обратно в конкретное окно (set term x11 1). Еще одна проблема - терминал x11. Вы должны использовать wxt, который может поддерживать окна в живых.

Вы можете решить свою проблему, используя терминал wxt и разделив две команды plot, поэтому не переключаясь из окна:

---   for loop of script starts---
gnuplot -persist <<EOF
set term wxt
set title "first"
plot x
EOF
gnuplot -persist <<EOF
set term wxt
set title "second"
plot x**2
EOF
---for loop ends---

При этом у вас открыты два масштабируемых окна, и вы все еще можете использовать переменные оболочки.

Как правило, , а не , необходимо иметь открытую консоль, чтобы иметь активные окна, просто соответствующий терминал. Особенно, команда

gnuplot --persist -e 'plot[0:10] sqrt(x)'

создает прокручиваемые и масштабируемые окна при использовании с wxt. Попробуйте

gnuplot --persist -e 'set term wxt; plot[0:10] sqrt(x)'

Надеюсь, это поможет.

1 голос
/ 29 ноября 2011

AFAIK вы можете увеличивать, прокручивать и т. Д. Только если консоль gnuplot все еще активна.Это означает, что gnuplot все еще должен быть запущен.

Чтобы попробовать масштабирование и прокрутку, введите следующую последовательность:

  1. Войдите в консоль gnuplot, набрав gnuplot
  2. построите функцию, например, с помощью plot[0:10] sqrt(x).
  3. Попробуйте увеличить (Ctrl + колесо мыши) и прокрутить (колесо мыши / Shift + колесо мыши) до перед выходом из консоли gnuplot.

Если вы запустите скрипт типа

gnuplot --persist -e 'plot[0:10] sqrt(x)'

, вы больше не сможете прокручивать или масштабировать.

...