Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tạo heatmap màu xanh lá đến đỏ trong Python (Matplotlib)


Để tạo heatmap với dải màu chuyển dần từ xanh lá (green) sang đỏ (red), bạn có thể tự định nghĩa colormap bằng LinearSegmentedColormap.

  • Thiết lập kích thước hình vẽ và khoảng đệm.
  • Tạo từ điển cdict mô tả chuyển màu cho kênh red, green, blue.
  • Tạo colormap GnRd từ cdict.
  • Tạo figure và axes.
  • Sinh dữ liệu ngẫu nhiên 5x5.
  • Vẽ pseudocolor plot bằng pcolormesh với colormap vừa tạo.
  • Thêm colorbar.
  • Hiển thị hình vẽ.

Ví dụ minh họa

import matplotlib.pyplot as plt
import matplotlib.colors as colors
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

cdict = {'red':   ((0.0, 0.0, 0.0),
                   (0.5, 1.0, 1.0),
                   (1.0, 1.0, 0.7)),
         'green': ((0.0, 0.7, 0.7),
                   (0.5, 1.0, 1.0),
                   (1.0, 0.0, 0.0)),
         'blue':  ((0.0, 0.0, 0.0),
                   (0.5, 1.0, 1.0),
                   (1.0, 0.0, 0.0))}

GnRd = colors.LinearSegmentedColormap('GnRd', cdict)

fig, ax = plt.subplots(1)
data = np.random.rand(5, 5)*6.-3.
p = ax.pcolormesh(data, cmap=GnRd, vmin=-5, vmax=5)
fig.colorbar(p, ax=ax)
plt.show()

Kết quả đầu ra

Cách tạo heatmap màu xanh lá đến đỏ trong Python (Matplotlib)