【发布时间】:2021-08-07 12:58:55
【问题描述】:
我想要一个像这样的对数颜色条
1, 10^-2, 10^-4, 10^-6, 0(或 +-10^-8), -10^-6, -10^-4, -10^-2,
它们之间的间距相同
但我找不到任何可以更强烈地修改音阶的命令。
请发送帮助:)
【问题讨论】:
我想要一个像这样的对数颜色条
它们之间的间距相同
但我找不到任何可以更强烈地修改音阶的命令。
请发送帮助:)
【问题讨论】:
您可以设置任意 tic 标签。检查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
结果:
【讨论】:
<1e-8 的所有内容映射到 NaN。您可以为此使用三元运算符,检查help ternary。