Соответствие цветовой палитры GNUPLOT карте струи - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь воспроизвести следующее изображение функции rosenbrock в gnuplot. Источник Википедия .

See below

My understanding is that the image was created using JET colormap in Matlab/Matplotlib.

Here is my attempt in gnuplot. Macro MATLAB was sourced from здесь и Macro JET был получен из здесь .

Я думаю, принося апельсин / желтый вплоть до 500 было бы полезно. Я не уверен, как это сделать в gnuplot.

И что было бы size для воспроизведения 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

введите описание изображения здесь

1 Ответ

2 голосов
/ 06 августа 2020

сопоставление цветов

Я думаю, вы будете в большинстве случаев, если измените сопоставление цветов на шкалу журнала, а остальную часть пути там, если вы отрегулируете нижнюю границу по диапазону палитры:

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

enter image description here

bounding box

gnuplot version 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

введите описание изображения здесь

...