gpt4 book ai didi

python - Mayavi 为所有场景修复了颜色条

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:09 35 4
gpt4 key购买 nike

我正在寻找一种方法来保持颜色条(和场景中的颜色)不变,而不管我显示的数据如何(例如,假设我想要颜色从 0 到 10,使用当前设置 mayavi 会根据数据调整颜色,所以第一个图将从 0 到 1,第二个图从 0 到 2 等)。归一化(vmin、vmax)不是选项,因为它们只是对数据进行归一化。

#Minimum working example
from numpy import sin, cos, mgrid, pi, sqrt
from mayavi import mlab

mlab.figure(fgcolor=(0, 0, 0), bgcolor=(1, 1, 1))
u, v = mgrid[- 0.035:pi:0.01, - 0.035:pi:0.01]

X = 2 / 3. * (cos(u) * cos(2 * v)
+ sqrt(2) * sin(u) * cos(v)) * cos(u) / (sqrt(2) -
sin(2 * u) * sin(3 * v))
Y = 2 / 3. * (cos(u) * sin(2 * v) -
sqrt(2) * sin(u) * sin(v)) * cos(u) / (sqrt(2)
- sin(2 * u) * sin(3 * v))
Z = -sqrt(2) * cos(u) * cos(u) / (sqrt(2) - sin(2 * u) * sin(3 * v))

for i in range(1,10):
S = sin(u)*i
mlab.mesh(X, Y, Z, scalars=S, colormap='YlGnBu', )
mlab.view(.0, - 5.0, 4)
mlab.colorbar(orientation='vertical')
mlab.show()
mlab.close(all=True)

最佳答案

你需要修复你的lut的数据范围

# get the current lut manager
lut_manager = mlab.colorbar(orientation='vertical')
# fix the range
lut_manager.data_range = (0, 10)

这样比例将始终从零到十,如果您没有所有范围内的值(颜色可能非常相似),通常这可能会出现问题

关于python - Mayavi 为所有场景修复了颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114655/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com