我需要在Python中可视化几个重叠的标量场。我发现mayavi
库可以绘制此类图。问题是我不知道如何为标量场自定义颜色映射。我的想法是为每个场都有不同深浅的同一种颜色。我尝试了采用一个例子,但它不起作用。这里是我使用红色阴影可视化标量场的代码:
import numpy as np
from mayavi import mlab
x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x*y*z)/(x*y*z)
src = mlab.pipeline.scalar_field(s)
volume = mlab.pipeline.volume(src)
lut = np.zeros((256, 4), np.uint8)
lut[:,-1] = 255
lut[:, 0] = np.linspace(0, 255, 256)
volume.module_manager.scalar_lut_manager.lut.table = lut
mlab.draw()
mlab.view(40, 85)
mlab.show()
然而,生成的图始终采用标准的蓝红查找表。