我正在使用 matplotlib 准备 3d 绘图,并且我对多个数据集有一个非常奇怪的行为。我有两个数据集,基本上描述了 3d 中的两个壳:一个内壳和一个外壳。为了在 3d 中绘制它们,我这样做:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(outer_z[:n], outer_x[:n], outer_y[:n], c='black', marker='.', lw=0)
ax.scatter(inner_z[:n], inner_x[:n], inner_y[:n], c='red', marker='.', lw=0)
ax.set_xlabel("Z")
ax.set_ylabel("X")
ax.set_zlabel("Y")
ax.set_xlim([-5,5])
ax.set_ylim([5,-5])
ax.set_zlim([-5,5])
Run Code Online (Sandbox Code Playgroud)
(轴的顺序仅用于透视目的)。然而,当我保存该图时,我没有得到两个外壳:
我将一层覆盖在另一层上,后面清晰可见的点出现在前面。您可以在图片中看到,外壳上本应位于内壳后面的一些点绘制在内壳前面。这确实很烦人,因为它不追求“3D情节”的目的。有谁知道为什么会发生这种情况以及如何解决这个问题?
我有一组数据,我想用ggplot2 绘制stat_density.数据范围从-1000到1000,我希望绘图用填充作为渐变着色,从蓝色(-1000)到白色(零)和红色(+1000).我怎么做?作为图片,它将是这样的:
