Matplotlib 3D绘图颜色显得比正常更暗

时间:2014-02-14 00:22:16

标签: python colors matplotlib visualization

我正在使用mpl_toolkits使用Axes3D和plot_surface在3d中绘制曲面。

我以下列方式显示输出, enter image description here

当颜色应该与右边的颜色条相似时,你可以清楚地看到整个表面有灰色色调。

我在其他几个情节中看到这种行为做了类似的事情。例如https://stackoverflow.com/a/20475233/2495342

我正在使用python的最新anaconda发行版并在spyder中运行我的代码,该代码使用Qt4Agg后端。我在linux和windows下得到了同样的行为。使用不同的色彩图也无济于事。可视化始终呈灰色。

我没有通过谷歌找到太多帮助,所以任何帮助都表示赞赏。

这是一个快速演示

import numpy as np
from matplotlib import pyplot
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D

X, Y = np.meshgrid(np.arange(-1, 1, 0.1), np.arange(-1, 1, 0.1))
Z = np.zeros_like(X)

F = np.sqrt(X**2 + Y**2)
F -= np.min(F)
F /= np.max(F)

fig = pyplot.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=cm.coolwarm(F))

返回

enter image description here

1 个答案:

答案 0 :(得分:3)

使用shade参数:

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, 
                facecolors=cm.coolwarm(F), shade=False)