Используя gnuplot, как "вырезать" используемые области графика по оси Y
Я пытаюсь построить график, где на оси Y у меня есть загрузка процессора, а текущий диапазон составляет 0-100%. Мои данные состоят только из 0-20% и 80-100%, и у меня просто большой белый разрыв от 20-80%. Есть ли способ "вырезать" это пустое пространство, чтобы зритель мог более подробно увидеть, что происходит в диапазонах 0–20% и 80–100%?
Спасибо.
1 ответ
Решение
Как сказал Кристоф в комментариях, это нужно сделать вручную, используя set multiplot
и удаление границ и т. д. Пример:
set multiplot
# remove border and ytics from right hand side
set border 7
set ytics nomirror
# set top and bottom margins for both halves of the plot
set tmargin at screen 0.96
set bmargin at screen 0.1
# set left and right margins for left half of the plot
set lmargin at screen 0.1
set rmargin at screen 0.5
# set xrange for left half of the plot
set xrange [0:2*pi]
# set some lines to delimit transition from one half of the plot to next
set arrow from screen 0.50,0.08 to screen 0.52,0.12 nohead
set arrow from screen 0.49,0.08 to screen 0.51,0.12 nohead
set arrow from screen 0.50,0.94 to screen 0.52,0.98 nohead
set arrow from screen 0.49,0.94 to screen 0.51,0.98 nohead
# plot left half
plot sin(x) not
# remove border from left hand side and set ytics on the right
set border 13
unset ytics
set y2tics
set format y2 ""
# set left and right margins for right half of the plot
set lmargin at screen 0.51
set rmargin at screen 0.91
# set xrange for right half of the plot
set xrange [13.5:13.5+2*pi]
# plot
plot sin(x) axes x1y2