matplotlib 如何自定义颜色条

i1icjdpr  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(119)

使用此代码,我不知道如何自定义颜色条。在此webiste上的颜色Map表不能满足我。

shade = m.contourf(Lon,Lat,TBB,np.arange(-90, -20, 10),extend='both',cmap=plt.cm.get_cmap('jet'))       
m.colorbar(shade)

我想画一张这样的画,有明显的颜色条。那么,我应该怎么做?

qnzebej0

qnzebej01#

您可以使用matplotlib.colors.LinearSegmentedColormap()matplotlib.colors.ListedColormap()定义自己的色彩Map表并将其用于绘图。
范例:

import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import matplotlib.colors

x = np.arange(0,25)
a = np.random.randint(0,130, size=(25,25))-115
a = np.sort(a).reshape(25,25)

colors = ["#eaa941", "#efef39", "#53a447", "#3b387f", "#48a2ba"]
cmap= matplotlib.colors.ListedColormap(colors)
cmap.set_under("crimson")
cmap.set_over("w")
norm= matplotlib.colors.Normalize(vmin=-100,vmax=-0)

fig, ax = plt.subplots()
im = ax.contourf(x,x,a, levels=[-100,-80,-60,-40,-20,0],
                 extend='both',cmap=cmap, norm=norm)

fig.colorbar(im, extend="both")

plt.show()

rsl1atfo

rsl1atfo2#

看起来很像spectral颜色Map表,它在matplotlib页面上给出。

相关问题