Подтвердить что ты не робот

Как получить доступ к значениям диапазона Gnuplot (auto) и изменить их, чтобы добавить некоторый запас?

Используя стандартную команду построения, я получаю то, что хочу, за исключением того, что yrange устанавливается автоматически (например, от 275 до 300).

К сожалению, у меня есть несколько точек данных с y-координатой 300, так что они не видны (из-за пограничных линий и т.д.).

Итак, есть ли способ установить максимальный yrange так, чтобы он всегда был максимальным. 5 единиц?

Используя autoscale, для параметра yrange установлено значение 275: 300. Установка явно диапазона до 275: 305 будет работать для одного файла данных, но не для других. Поэтому мне нужен какой-то общий метод для определения точки max-data и установите yrange больше.

4b9b3361

Ответ 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 ... для использования фракции размера графика.