gnuplot中两个(xy)变量函数的平滑渐变显示?

gnuplot中两个(xy)变量函数的平滑渐变显示?,gnuplot,gradient,Gnuplot,Gradient,我想将两个变量的函数的值显示为“位图”图像,例如x+y。所以我尝试了这个,基于: 。。。但我什么也得不到: $ gnuplot -persist test.gp "test.gp", line 45: warning: Image grid must be at least 2 x 2. 那么,我如何根据cbrange上的x+y=-4对x=-2,y=-2处的“像素”进行着色 编辑:明白了: set palette rgbformula -7,2,-7 set cbrange [-5:5]

我想将两个变量的函数的值显示为“位图”图像,例如
x+y
。所以我尝试了这个,基于:

。。。但我什么也得不到:

$ gnuplot -persist test.gp
"test.gp", line 45: warning: Image grid must be at least 2 x 2.

那么,我如何根据
cbrange
上的
x+y
=-4对x=-2,y=-2处的“像素”进行着色


编辑:明白了:

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上导出为“平滑”渐变(没有任何轴、刻度、标记),比如3000x2000像素;实现这一点的最佳方法是什么?

从编辑开始:你只需要停用所有东西。意思是:

unset colorbox
unset xtics
unset ytics
set border 0
然后创建命令列表:

set palette rgbformula -7,2,-7
set cbrange [-5:5]
unset cblabel 
unset cbtics
set xrange [-4.5:4.5]
set yrange [-4.5:4.5]
set pm3d
unset surface
set view map

unset colorbox
unset xtics
unset ytics
set border 0

splot x+y
你只得到梯度

编辑:为了改进渐变步长并创建更平滑的图像,您需要使用
pm3d
插值

set pm3d interpolate 4,4

谢谢你,@ctheo-但我对获得“平滑”的梯度感兴趣;同样在你的图像中,梯度显示为“框”——我希望导出图像中的每个像素都是自己的绿色阴影(按照公式)。有可能吗?@sdau现在我收到你的请求了。编辑了答案。您可以尝试使用
interpolate
的参数来找出您的首选渐变。要删除所有边距,请在屏幕0处使用
设置lmargin;在屏幕1上设置rmargin;在屏幕1上设置tmargin;将bmargin设置在屏幕0上
非常感谢@ctheo-看起来很棒;接受<代码>:)Btw,对
set samples
set isosamples
有什么想法吗?它们似乎也有影响,但我无法真正控制它们。。。干杯
set pm3d interpolate 4,4