繁体   English   中英

matplotlib中的自定义颜色图用于3D表面图

[英]Custom colormap in matplotlib for 3D surface plot

我有一个具有指定颜色图的曲面图。 以下是我的理解方式:

import numpy as np
import matplotlib.pyplot as plt
import math
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import plaque_vessel_models

# Model creation
ptX= []
ptY = []
ptZ = []
ptX1 = []
ptY1 = []
ptZ1 = []
pt_F = []
ang = np.linspace(0,2*np.pi,360)
x_list = [100,90,80,70,60,50,40,30,20,10,5]
for i in range(0,10):
    x = []
    y = []
    z = []
    pt = []

    for t in range(0,len(ang)):
        x.append(x_list[i]*math.cos(ang[t]))
        y.append(50*math.sin(ang[t]))
        z.append(i)
        pt.append([x,y,z])
    pt_F.append(pt)
    ptX.append(x)
    ptY.append(y)
    ptZ.append(z)

# Surface plot
fig = plt.figure()
ax = Axes3D(fig)
C_l = plaque_vessel_models.curvature3D(np.array(ptX),np.array(ptY),np.array(ptZ),'m')
ax.plot_surface(np.array(ptX),np.array(ptY),np.array(ptZ),facecolors = cm.jet(np.array(C_l)),rstride=1, cstride=5,antialiased=False)
m = cm.ScalarMappable(cmap = cm.jet)
m.set_array(C_l)
fig.colorbar(m,shrink = 0.5)

这是我的结果:

在此处输入图片说明

我希望颜色条值的范围是0.5-1.0,而不是默认的0-1。 我应该如何处理?

m.set_clim(vmin=0.5, vmax=1.0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM