与这个问题相关,我想要一个带有每个点预设颜色的三维散点图。该问题中发布的示例在我的系统上运行良好,但在第一次重绘之后(例如保存或旋转图像后),颜色似乎丢失了,即所有点都以蓝色绘制,并添加常规深度信息。请参见下面的修改示例。
我的系统是Python 2.6.7,使用从Macports安装的matplotlib 1.1.0,在Mac 10.8.0上使用MacOSX后端。
有人知道如何解决这个问题吗?
我的系统是Python 2.6.7,使用从Macports安装的matplotlib 1.1.0,在Mac 10.8.0上使用MacOSX后端。
有人知道如何解决这个问题吗?
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Create Map
cm = plt.get_cmap("RdYlGn")
x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)
col = np.arange(30)
fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')
ax3D.scatter(x, y, z, s=30, c=col, marker='o', cmap=cm)
plt.savefig('image1.png')
plt.savefig('image2.png')
这是我得到的两张图片:
col = np.arange(30)
这一行,两个图形将完全相同。虽然我不知道原因。pyplot
是一个有状态的模块,我认为在不关闭旧窗口的情况下打开新窗口是不明智的。如果始终只保持一个图形窗口打开,我认为可以预防这种效果。 - Björn Pollex