您如何在matplotlib的3D图上绘制3D标记(即,球形而不是圆形,金字塔而不是三角形等)?

Cos*_*smo 5 python 3d matplotlib markers colormap

我已经仔细检查了stackoverflow的存档和matplotlib的文档,没有找到解决方案,也没有任何相关的讨论。

以下代码在神经元骨骼的尖端绘制点,其坐标存储在中coords,颜色存储在中tcolors(由于某种原因,它们仅对标记的轮廓而非内部着色,从而创建了另一个问题)。

# Plot and color points at tips by path distance
for t, pts in enumerate(coords):
    ax.scatter(pts[0], pts[1], pts[2], color=tcolors[t],
               alpha=0.9, marker = 'o', s = 100)
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

https://gfycat.com/SkeletalFarawayBird

毫不奇怪,标记是圆圈(即标记='o')。我完全知道如何将标记更改为许多2D形状中的任何一个(在此说明),但是我不知道如何在matplotlib中将3D形状绘制为标记。

我最好的解决方案是手动(但效率很低)绘制在指定坐标处具有原点的球体。但是,作为我在这里发布的原因,我敢肯定,有一个更好的,希望是matplotlib本机解决方案可以解决此问题。