В связи с этот вопрос, я хочу трехмерный график рассеяния с заданными цветами для каждой точки. Пример, опубликованный в вопросе, работает в моей системе, но после первого перерисовки (например, после сохранения или если я поворачиваю изображение) цвет кажется потерянным, т.е. Все точки рисуются синим цветом с обычной информацией о глубине. См. Приведенный ниже пример.
Моя система - это Python 2.6.7, где matplotlib 1.1.0 установлен из macports на 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')
Вот два изображения, я получаю: