Gnuplot 对数色标

问题描述 投票:0回答:1

我一直在使用 GNUPLOT 制作二维图案图,但是,我需要颜色采用对数刻度,但只有颜色,而不是颜色列中的数值及其相应的抽动。有办法吗?

这里我有一个用于生成图像的数据文件的例子。 在 GNUPLOT 中,我使用以下命令(或脚本):

set size square 1,1
set cbrange [0:2]
set pm3d map
set palette defined ( 0 'gray30', 0.75 'gray20', 1.35 'cyan')
splot 'Sq.dat' with pm3d

gnuplot
1个回答
1
投票

在 gnuplot 控制台中检查

help palette
help palette functions
。 有选项
functions
。对于每个颜色分量(R,G,B),您定义一个函数,该函数具有变量
gray
作为输入(范围
[0:1]
)并且应该具有范围
[0:1]
作为输出。如果您键入
test palette
,您可以检查调色板输出。

如果你所有的 R、G、B 函数都从

0
开始,这将是黑色的。如果 G 和 B 的函数在
1
结束并且 R 停留在
0
,这将是青色。

使用选项

set palette rgbformulae
时还有37个预定义功能:检查
help palette rgbformulae
show palette rgbformulae

例子:

# Linear:
set palette functions  0, gray, gray
test palette

# Square:
set palette functions  0, gray**2, gray**2
test palette

# Square Root:
set palette functions  0, sqrt(gray), sqrt(gray)
test palette

# Some logarithm: (play with x0)
f(x,x0) = log((x+x0)/x0)/log((1+x0)/x0)
x0 = 0.01
set palette functions  0, f(gray,x0), f(gray,x0)
test palette

添加:(您的数据带有

logscale cb

脚本:

### logscale cb
reset session

FILE = "SO76096868.dat"

set size ratio -1
set palette functions 0, gray**2, gray**2
# set palette rgbformulae 33,13,10     #  alternatively, multiple colors

set view map
set logscale cb
set format cb "10^{%T}"
set xrange [:] noextend
set yrange [:] noextend

splot FILE u 1:2:3 w pm3d
### end of script

结果:

© www.soinside.com 2019 - 2024. All rights reserved.