一个形象胜过千言万语: https://www.harrisgeospatial.com/docs/html/images/colorbars.png
我想获得和右边的matplotlib相同的颜色条。 默认行为对“上”/“下”和相邻单元格使用相同的颜色。。。在
谢谢你的帮助!在
下面是我的代码:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as colors
N = 100
X, Y = np.mgrid[-3:3:complex(0, N), -2:2:complex(0, N)]
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
fig, ax = plt.subplots(1, 1, figsize=(8, 8))
# even bounds gives a contour-like effect
bounds = np.linspace(-1, 1, 10)
norm = colors.BoundaryNorm(boundaries=bounds, ncolors=256)
pcm = ax.pcolormesh(X, Y, Z,
norm=norm,
cmap='RdBu_r')
fig.colorbar(pcm, ax=ax, extend='both', orientation='vertical')
为了使colormap的“over”/“under”颜色取该贴图的第一个/最后一个颜色,但仍与colormappaged范围内的最后一个颜色不同,您可以从colormap中获得比
BoundaryNorm
中的边界多的一个颜色,并将第一个和最后一个颜色用作“over”/“under”颜色的各自颜色。在正如我在评论中建议的那样,你可以用
pcm = ax.pcolormesh(X, Y, Z, norm=norm, cmap='rainbow_r')
这就产生了:
您可以定义自己的颜色映射,如下所示:Create own colormap using matplotlib and plot color scale
相关问题 更多 >
编程相关推荐