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