Мне нужно визуализировать несколько перекрывающихся скалярных полей в Python. Я нашел mayavi
библиотеку, чтобы сделать этот вид сюжета. Проблема в том, что я не понимаю, как настроить цветовую карту для скалярных полей. Моя идея состоит в том, чтобы иметь оттенки одного цвета для каждого поля. Я попытался принять an example, но он не работает. Здесь есть мой код, чтобы визуализировать скалярное поле, используя оттенки красного:Визуализация скалярных полей в Python
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()
Однако выход сюжет всегда со стандартной сине-красной справочной таблицей.
Вы когда-нибудь находили решение? У меня возникла аналогичная проблема: https://stackoverflow.com/questions/36946231/using-perceptually-uniform-colormaps-in-mayavi-volumetric-visualization – crypdick
Хмм, когда я пытаюсь переназначить 'table' на измененный' lut', он ничего не делает. Я собираюсь подать отчет об ошибке. – crypdick
Насколько я могу судить, это кажется ошибкой. Я подал здесь отчет об ошибке: https://github.com/enthought/mayavi/issues/371 – crypdick