Matplotlib 3D 绘图颜色比正常情况下更暗

4
我正在使用mpl_toolkits绘制3D表面,使用Axes3D和plot_surface。 我以以下方式可视化输出,如下图所示。 您可以清楚地看到整个表面都有灰色的色调,而颜色应该与右侧的colorbar相似。 我在其他几个绘制类似事物的情况下也看到了这种行为。 例如,在这里https://dev59.com/BXnZa4cB1Zd3GeqPwvZF#20475233。 我正在使用最新的anaconda python发行版,并在使用Qt4Agg后端的spyder中运行我的代码。 在Linux和Windows下都会出现相同的行为。 使用不同的colormap也没有帮助。 可视化总是带有灰色色调。 我在谷歌上没有找到太多帮助,因此任何帮助都将不胜感激。 这是一个快速演示。
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


可以展示一些(可粘贴的)源代码 - 这会使调查问题变得更容易。 - Dietrich
@Dietrich 好的,添加了一个快速演示,展示了相同的行为。 - abnowack
1个回答

6

使用shade参数:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接