Как получить доступ к значениям диапазона Gnuplot (auto) и изменить их, чтобы добавить некоторый запас?
Используя стандартную команду построения, я получаю то, что хочу, за исключением того, что yrange
устанавливается автоматически (например, от 275 до 300).
К сожалению, у меня есть несколько точек данных с y-координатой 300, так что они не видны (из-за пограничных линий и т.д.).
Итак, есть ли способ установить максимальный yrange
так, чтобы он всегда был максимальным. 5 единиц?
Используя autoscale
, для параметра yrange
установлено значение 275: 300. Установка явно диапазона до 275: 305 будет работать для одного файла данных, но не для других. Поэтому мне нужен какой-то общий метод для определения точки max-data и установите yrange
больше.
Ответы
Ответ 1
Определены значения Gnuplot GPVAL_Y_MAX
и GPVAL_DATA_Y_MAX
(также GPVAL_Y_MIN
, GPVAL_DATA_Y_MIN
...). После вашего графика максимальное значение будет сохранено в этих значениях. Таким образом, вы можете построить свои данные, затем set yrange GPVAL_Y_MAX+(GPVAL_Y_MAX-GPVAL_Y_MIN)*0.05
. В это время вы планируете данные во второй раз. На этот раз вы просто получите то, что хотите. Ниже приведен мой код.
reset
plot "data.dat" u 1:2 #To get the max and min value
MAX=GPVAL_Y_MAX
MIN=GPVAL_Y_MIN
set yrange [MIN-(MAX-MIN)*0.05:MAX+(MAX-MIN)*0.05]
#Add a fixed value is not a good idea, so I use a relative one
set term png
set output "out.png"
plot "data.dat" u 1:2 w p notitle #This plot will create a file
#named out.png which is waht you want.
Я изучил метод из этой статьи - http://gnuplot-surprising.blogspot.com/2011/09/advanced-background-color-1.html
Ответ 2
set offsets <left>, <right>, <top>, <bottom>
будет делать. Обратите внимание, что масштаб следует за шкалой данных, поэтому в конечном итоге он будет зависеть от данных, которые вы хотите построить. Кроме того, вы можете использовать set offsets graph ...
для использования фракции размера графика.