使用matplotlibs colorb将一个值设置为特定颜色

2024-04-29 21:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

matplotlib.pyplot.figure()
matplotlib.pyplot.imshow( myValues )
matplotlib.pyplot.colorbar()
matplotlib.pyplot.title( 'Values' )
matplotlib.pyplot.show()

它创建了一个非常默认的颜色贴图。myValues的范围在[-1.0,1.0]之间(以后可能会发生变化)。 我想把所有0.0的值都涂成白色。我怎样才能做到这一点?在

谨致问候, 疯子


Tags: 代码titlematplotlib颜色showfigurevaluespyplot
1条回答
网友
1楼 · 发布于 2024-04-29 21:34:22

这应该可以做到:

from matplotlib import pyplot as plt
import numpy as np

plt.figure()
myValues = np.random.random((10,10))*2 -1
plt.imshow( myValues ,cmap = "RdBu_r" , vmin=-1, vmax=1)
plt.colorbar()
plt.title( 'Values' )
plt.show()

其目的是:

1-选择白色的“中间”颜色贴图,例如RdBu\r。有关更多信息,请参见:

http://wiki.scipy.org/Cookbook/Matplotlib/Show_colormaps

2-在距零相等距离处固定最小值和最大值。在您的例子中,vmin=-1,vmax=1是一个明显的选择。在

如果在vmax的解决方案中,所有的值都将被映射到vmax之外。这可能是一个问题,也可能不是一个问题,这取决于你想做什么。在

相关问题 更多 >