Я хотел бы показать значения функции из двух переменных, например x+y
, как изображение «растрового изображения». Так что я попытался это, основываясь на http://gnuplot.sourceforge.net/demo/heatmaps.html:Плавное отображение градиента функции двух переменных (xy) в gnuplot?
# Color runs from white to green
set palette rgbformula -7,2,-7
set cbrange [-5:5]
set cblabel "Value"
unset cbtics
set xrange [-4.5:4.5]
set yrange [-4.5:4.5]
set view map
splot x+y with image
... но я ничего не получаю:
$ gnuplot -persist test.gp
"test.gp", line 45: warning: Image grid must be at least 2 x 2.
Так как я могу получить "пиксель", скажем, х = -2, y = -2 для окрашивания в соответствии с x+y
= -4 на cbrange
?
Edit: получил, что:
set palette rgbformula -7,2,-7
set cbrange [-5:5]
set cblabel "Value"
unset cbtics
set xrange [-4.5:4.5]
set yrange [-4.5:4.5]
set pm3d
unset surface
set view map
splot x+y
Выходов:
Но - сказать, что я хочу градиент в этой области, экспортированный как "гладкий" градиент (без осей, тиков, знаков любого вида) на большом PNG, скажем 3000х2000 пикселей; что было бы лучшим способом добиться этого?
Спасибо за это, @ctheo - но здесь я заинтересован в получении "гладкий" градиент; здесь также на вашем изображении градиент показан как «ящики». Я бы идеально хотел, чтобы каждый пиксель в экспортированном изображении был его собственным оттенком зеленого (согласно формуле). Это возможно? – sdaau
@sdaau теперь я получаю ваш запрос. Отредактировал ответ. Вы можете попробовать параметры «интерполировать», чтобы узнать свой предпочтительный градиент. – ztik
Для удаления всех полей используйте также 'set lmargin на экране 0; установить rmargin на экране 1; установить tmargin на экране 1; set bmargin на экране 0' – Christoph