【发布时间】:2019-10-01 09:02:14
【问题描述】:
我正在尝试可视化一个 3D 参数空间,在该空间中我对带有体素的参数充满信心,并且我的估计参数带有散点图。目标是清楚地看到参数是否在这个空间内。
即使体素不是透明的,散点图也会绘制在体素的“顶部”:
我希望体素至少将散射体隐藏在其后面,但最好我想让体素透明(例如 alpha 0.5),散射体根据光线穿过的体素改变颜色.使用 matplotlib 可以实现这样的事情吗?
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x, y, z = np.random.random((3, 100)) * 5
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.scatter(x, y, z)
cube = np.mgrid[0:1:0.2,0:1:0.2] > 0.5
ax.voxels(cube, edgecolor='k', linewidth=0.)
【问题讨论】:
-
这是 matplotlib 3D 绘图的一个已知问题。见这里:matplotlib.org/mpl_toolkits/mplot3d/… 建议尝试使用 mayavi 代替
-
@tmdavison,谢谢,我不知道。那我就搬到 Mayavi。
标签: python matplotlib voxel