您需要为对数图的点着色,但就好像它们不是对数的一样。
z
让图表上显示的某个值取值从a
到b
。我编译了 colormap - 一个函数,它根据传递给它的 0 到 1 范围内的数值来计算并返回颜色。让我们这样说:
table = [
# x R G B
[0, 0.01, 0.043, 1],
[0.2, 0.641, 0.164, 0.725],
[0.3, 0.988, 0.051, 0.11],
[0.5, 1, 0.975, 0.5],
[0.8, 1, 1, 1],
[1, 1, 1, 1]
]
为了计算每个特定点的颜色,我将其调整到所需的范围:
并绘制图表(以下为伪代码):
plot(values=z, colormap=colormap) # значения x для цвета рассчитываются внутри построителя
所有点的颜色都正确:
现在我取该值的对数z
并绘制图表:
plot(values=ln(z), colormap=colormap)
该图绘制正确,但我想让颜色与不使用对数时的颜色相同。
由于颜色是由构建器计算的,我只能更改颜色图。因此,我们需要以某种方式更改第一个颜色图列的值。
该值z'=ln(z)
可以取从a'=ln(a)
到 的值b'=ln(b)
。我们得到:
接下来,我命令我的家养小精灵弄清楚如何x'
用已知x
和未知来表达z
,,,但无论克利切如何努力a
,b
他都做不到。例如,如果将这两个方程相加,您将得到:
没有办法将z
其删除。我的直觉告诉我有一个解决方案,但我没有看到。a
b