Python 添加颜色贴图以添加_集合(3d打印中的曲面)

Python 添加颜色贴图以添加_集合(3d打印中的曲面),python,3d,matplotlib,color-mapping,Python,3d,Matplotlib,Color Mapping,我正在制作一个三面棱锥体。我使用add_collection3d(Poly3DCollection)制作了侧面 但我想添加一个基于z轴的颜色贴图,使顶部为红色,并逐渐变为蓝色,但细节并不重要。我尝试了cmap选项,但确实改变了颜色 我添加了一个单面脚本来说明这个问题 from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np

我正在制作一个三面棱锥体。我使用add_collection3d(Poly3DCollection)制作了侧面

但我想添加一个基于z轴的颜色贴图,使顶部为红色,并逐渐变为蓝色,但细节并不重要。我尝试了cmap选项,但确实改变了颜色

我添加了一个单面脚本来说明这个问题

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

fig = plt.figure()
ax = Axes3D(fig)

#Pyramid side 1
xp1 = [1.1184,2.46,2.46]
yp1 = [0.5592, 1.23,2.73]
zp1 = [-1.5,0,-1.5]
verts1= [zip(xp1,yp1,zp1)]

cmhot = plt.cm.get_cmap("hot")
ax.add_collection3d(Poly3DCollection(verts1,cmap=cmhot))

ax.set_xlim(0,5)
ax.set_ylim(0,5)
ax.set_zlim(-2.5,5)
plt.show()
为什么这不起作用


非常感谢。您必须将zip转换为列表格式

list(zip(xp1,yp1,zp1))