import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
X = [i for i in range(10)]
Y = [i for i in range(10)]
Z = [i for i in range(10)]
S = [(i+1)*400 for i in range(10)]
A = [i/10 for i in range(10)]
ax.scatter(xs=X, ys=Y, zs=Z, s=S, alpha=A)
plt.show()
:已将修复程序添加到matplotlib,作为未来的一部分3.11.0版本(尚未在写作时尚未发布) 我还将其发布在
matplotlibgithub上,以查看开发人员的想法。 根据他们的最新回应,这似乎是一个错误的错误:“我们拥有有限的核心开发人员资源和mpl_toolkits/mplot3d只是核心团队的次要优先级。很可能需要社区中的某人来接手并提供解决方案。 我会尝试这样做,但是在此期间,请发布此信息,以便使其他拥有更多经验的人都知道。
一个可能的解决方法是将每个点添加一个for
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
X = [i for i in range(10)]
Y = [i for i in range(10)]
Z = [i for i in range(10)]
S = [(i+1)*400 for i in range(10)]
A = [i/10 for i in range(10)]
for x, y, z, s, a in zip(X, Y, Z, S, A):
ax.scatter(xs=x, ys=y, zs=z, s=s, alpha=a, color="tab:blue")
plt.show()