Python 如何使用Matplotlib创建几何体被粒子包围的图形?

Python 如何使用Matplotlib创建几何体被粒子包围的图形?,python,matplotlib,Python,Matplotlib,使用中的示例和文档,我可以创建一个图形和两个图形,如。左边是几何图形,右边是粒子图形。我想要创建的实际上是一个图形,其中几何体将被粒子包围。怎么做 以下是我目前的代码: from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np fig = plt.figure() vx = [] vy = [] vz = [] ins

使用中的示例和文档,我可以创建一个图形和两个图形,如。左边是几何图形,右边是粒子图形。我想要创建的实际上是一个图形,其中几何体将被粒子包围。怎么做

以下是我目前的代码:

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

fig = plt.figure()

vx = []
vy = []
vz = []
ins = open( "vertex.txt", "r" )
for line in ins:
    nilai = line.strip().split()
    vx.append(float(nilai[1]))
    vy.append(float(nilai[2]))
    vz.append(float(nilai[3]))

triangles = []
ins = open( "iface4.txt", "r" )
for line in ins:
    nilai = line.strip().split()
    t1 = int(nilai[1])
    t2 = int(nilai[2])
    t3 = int(nilai[3])
    if t1!=0 and t2!=0 and t3!=0:
        triangles.append([t1, t2, t3])

ax = fig.add_subplot(121, projection='3d') #ax = fig.gca(projection='3d')
ax.plot_trisurf(vx, vy, vz, triangles=triangles, cmap=cm.jet, linewidth=0.2)

vx = []
vy = []
vz = []
ins = open( "particle.txt", "r" )
for line in ins:
    nilai = line.strip().split()
    vx.append(float(nilai[0]))
    vy.append(float(nilai[1]))
    vz.append(float(nilai[2]))

ax = fig.add_subplot(122, projection='3d')
ax.scatter(vx, vy, vz, c='b', marker='o')

plt.show()

我认为布伦巴恩是正确的,如果你删除这行:

ax = fig.add_subplot(122, projection='3d')

然后粒子散点图将位于同一轴上。您在代码中重复使用变量名“ax”,这可能会让您感到困惑。

如果只删除第二个ax=fig.add\u子批,会发生什么情况。。。线路?太棒了。谢谢你的提示!