我正在尝试为数据集创建填充轮廓.它应该相当简单:
plt.contourf(x, y, z, label = 'blah', cm = matplotlib.cm.RdBu)
Run Code Online (Sandbox Code Playgroud)
但是,如果我的数据集关于0不对称,该怎么办?假设我想从蓝色(负值)变为0(白色)到红色(正值).如果我的数据集从-8变为3,那么颜色条的白色部分(应该为0)实际上是略微负的.有没有办法改变颜色条?
我想将两个色图合并为一个,这样我可以使用一个cmap用于负值,另一个用于正值.
目前我使用蒙版数组并使用一个图像cmap和另一个图像绘制另一个图像,从而产生:

以下数据
dat = np.random.rand(10,10) * 2 - 1
pos = np.ma.masked_array(dat, dat<0)
neg = np.ma.masked_array(dat, dat>=0)
Run Code Online (Sandbox Code Playgroud)
我绘制pos与gist_heat_r和neg带binary.
我想有一个单一的颜色条与合并cmap的,所以这对我来说不是正确的方法.
那么,我如何将两个现有cmaps的合并为一个呢?
编辑:我承认,这是重复的,但给出的答案在这里更清楚.示例图像也使其更清晰.
在 matplotlib 中,我想在某个特定值区间更改颜色条的颜色。例如,我想更改地震颜色条,让-0.5和0.5之间的值变成白色,我该怎么做?
非常感谢