Saya membuat colorbar dengan fungsi make_colormap. Sumber: Buat colormap sendiri menggunakan matplotlib dan skala warna plot. Juga saya merencanakan banyak peta dengan bulan, data dalam normal.groupby ('bulan'): ...

0
Javier 5 April 2021, 17:54

1 menjawab

Jawaban Terbaik

Anda dapat menerapkan norm. Menggunakan norma yang sama untuk semua plot akan membuat warna konsisten. Tidak jelas apa kisaran kolom data['PP'] Anda. Berikut adalah contoh perubahan jika Anda ingin 100, 200 dan 660 untuk tiga nilai dalam daftar yang diberikan ke make_colormap:

vmin = data['PP'].min() # the overall minimum
vmax = data['PP'].max() # the overall maximum
norm = plt.Normalize(vmin, vmax) # function that maps the range of data['PP'] to the range [0,1]

rvb = make_colormap(
    [c('brown'), c('orange'), norm(100), c('orange'), c('yellow'), norm(200), c('green'), c('cyan'), norm(660), c('blue'), c('purple')])

for month, data in normals.groupby('MONTH'):
    ...
    img = ax.scatter(..., cmap=rvb, norm=norm)
    ...
2
JohanC 5 April 2021, 15:53