如何将 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 cbticshelp xtics。 这就是您所要求的,但是,我假设您还想绘制一些数据。 你想阴谋什么?一张地图,一些功能?您的数据看起来如何? 此外,您必须为数据定义一些映射函数。

加法:

这将是一个可能的(不连续的)映射函数,用于将您的值从 [-1:-1e-8] 映射到 [-1:0] 以及从 [+1e-8:1][0:1],以及带有 abs(value)<1e-8NaN.

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

结果: