Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors GNUPLOT splot调色板匹配jetmap_Colors_Gnuplot_Surface_Colormap_Palette - Fatal编程技术网

Colors GNUPLOT splot调色板匹配jetmap

Colors GNUPLOT splot调色板匹配jetmap,colors,gnuplot,surface,colormap,palette,Colors,Gnuplot,Surface,Colormap,Palette,我试图在gnuplot中重现rosenbrock函数的下图。来源 我的理解是,该图像是使用Matlab/Matplotlib中的JET colormap创建的 这是我在gnuplot中的尝试。宏MATLAB来源于,宏JET来源于 我认为把橙色/黄色一直降到500会有帮助。我不知道如何在gnuplot中实现这一点 同样,要再现类似MATLAB的视图,大小是多少 reset session set terminal wxt size 800,600 enhanced font 'Verdana,1

我试图在gnuplot中重现rosenbrock函数的下图。来源

我的理解是,该图像是使用Matlab/Matplotlib中的JET colormap创建的

这是我在gnuplot中的尝试。宏MATLAB来源于,宏JET来源于

我认为把橙色/黄色一直降到500会有帮助。我不知道如何在gnuplot中实现这一点

同样,要再现类似MATLAB的视图,大小是多少

reset session
set terminal wxt size 800,600 enhanced font 'Verdana,10' persist
set view 50,330
set isosample 30
set xlabel "x"
set ylabel "y"
set zlabel "f(x,y)" rotate
set pm3d


set macros
JET="define (0 0 0 0.5, 1./8 0 0 1, 3./8 0 1 1, 5./8 1 1 0, 7./8 1 0 0, 1 0.5 0 0)"

MATLAB = "defined (0  0.0 0.0 0.5, \
                   1  0.0 0.0 1.0, \
                   2  0.0 0.5 1.0, \
                   3  0.0 1.0 1.0, \
                   4  0.5 1.0 0.5, \
                   5  1.0 1.0 0.0, \
                   6  1.0 0.5 0.0, \
                   7  1.0 0.0 0.0, \
                   8  0.5 0.0 0.0 )"


set palette @JET

splot [x=-2:2] [y=-1:3] (1-x)**2+100*(y-x**2)**2 with pm3d notitle

set output

颜色映射

我想如果你把颜色映射改成对数比例,你会在大部分的过程中做到这一点, 如果您调整调色板范围的下限,则剩下的部分会出现:

# ... as above ...
set log cb
set cbrange [0.1 : *]
unset mcbtics
replot

边界框

gnuplot 5.4版:

set wall x1  fillcolor "gray90"
set wall y1  fillcolor "gray90"
set wall z0  fillcolot "gray50"
set xyplane at 0
set border 127
set grid vertical
replot

非常棒,非常感谢。你能告诉我我们是否能使gnuplot的宽度(x)和长度(y)与原始图片相似吗。我试了很多次,但纵横比似乎不起作用。
size
是调整宽度和长度的正确方法吗?您需要的命令可能是
set view 50330,
。为两个比例参数找到合适值的最简单方法是使用鼠标中键单击并拖动。调整内容以符合您的偏好,然后从工具栏上读取比例值或发出
show view
命令。