如何基于3D散点图中的numpy数组数量绘制颜色

时间:2019-05-31 17:27:22

标签: python python-3.x matplotlib scatter-plot

我正在尝试在3d投影中使用x,y,z坐标的matplotlib创建散点图。我有160个x,y,z文件,它们存储在x,y,z变量中。

我可以在散点图中绘制所有这些点,但是它们都是相同的颜色。我想要的是每个文件具有不同或略有不同的颜色,因此总共有160种颜色。

mesh.py

files = sorted(glob.glob('/Users/NaN/__work__/simple_example_29-MAY/DATABASES_MPI/*_mesh.vtk'))

mesh = []  #empty variable which will hold all the meshes made by meshio


fig = plt.figure(figsize=(16,10))
ax = plt.axes(projection = '3d')

for file in files:
    mesh.append(meshio.read(file))

    x = []
    y = []
    z = []

    for i in range(len(mesh)):  #len(mesh) should be 160 type `len(mesh)` in prompt
        #print(mesh[i].points)
        x.append(mesh[i].points[:, 0])
        y.append(mesh[i].points[:, 1])
        z.append(mesh[i].points[:, 2])

        ax.scatter(x, y, z, c=np.linspace(1,160,160))

plt.show()

这段代码仍然没有改变颜色,我在做什么错或不做什么?

1 个答案:

答案 0 :(得分:-1)

为每个文件循环指定颜色并操纵其rgb值。