如何将 gnuplot 中的比例修改为任意函数?
How can I modify the scale in gnuplot to an arbitrary function?
我想要像这样的对数颜色条
1,
10^-2,
10^-4,
10^-6,
0(或+-10^-8),
-10^-6,
-10^-4,
-10^-2,
所有之间的间距相同
但我找不到任何命令来更强烈地修改比例。
请发送帮助:)
您可以设置任意抽动标签。检查 help cbtics
或 help xtics
。
这就是您所要求的,但是,我假设您还想绘制一些数据。
你想阴谋什么?一张地图,一些功能?您的数据看起来如何?
此外,您必须为数据定义一些映射函数。
加法:
这将是一个可能的(不连续的)映射函数,用于将您的值从 [-1:-1e-8]
映射到 [-1:0]
以及从 [+1e-8:1]
到 [0:1]
,以及带有 abs(value)<1e-8
到 NaN
.
f(x) = abs(x)<1e-8 ? NaN : sgn(x)*(1+log10(abs(x))/8)
代码:
reset session
set xrange[1e-10:1]
set logscale xy
set grid x,y
set cbrange[-1:1]
set cbtics("-1" -1, "-10^{-2}" -0.75, "-10^{-4}" -0.5, "-10^{-6}" -0.25, "0" 0, \
"1" 1, "10^{-2}" 0.75, "10^{-4}" 0.5, "10^{-6}" 0.25)
plot x lc palette
结果:
我想要像这样的对数颜色条
1, 10^-2, 10^-4, 10^-6, 0(或+-10^-8), -10^-6, -10^-4, -10^-2,
所有之间的间距相同
但我找不到任何命令来更强烈地修改比例。
请发送帮助:)
您可以设置任意抽动标签。检查 help cbtics
或 help xtics
。
这就是您所要求的,但是,我假设您还想绘制一些数据。
你想阴谋什么?一张地图,一些功能?您的数据看起来如何?
此外,您必须为数据定义一些映射函数。
加法:
这将是一个可能的(不连续的)映射函数,用于将您的值从 [-1:-1e-8]
映射到 [-1:0]
以及从 [+1e-8:1]
到 [0:1]
,以及带有 abs(value)<1e-8
到 NaN
.
f(x) = abs(x)<1e-8 ? NaN : sgn(x)*(1+log10(abs(x))/8)
代码:
reset session
set xrange[1e-10:1]
set logscale xy
set grid x,y
set cbrange[-1:1]
set cbtics("-1" -1, "-10^{-2}" -0.75, "-10^{-4}" -0.5, "-10^{-6}" -0.25, "0" 0, \
"1" 1, "10^{-2}" 0.75, "10^{-4}" 0.5, "10^{-6}" 0.25)
plot x lc palette
结果: