Computer >> Máy Tính >  >> Lập trình >> Python

Ánh xạ các giá trị thành màu trong Matplotlib

Để ánh xạ các giá trị thành một bộ màu (đỏ, lục và lam) trong matplotlib, chúng ta có thể thực hiện các bước sau -

  • Tạo danh sách các giá trị từ 1,00 đến 2,00, count =10.

  • Nhận dữ liệu chuẩn hóa tuyến tính trong khoảng vmin và vmax.

  • Nhận một đối tượng để ánh xạ dữ liệu vô hướng sang rgba.

  • Lặp lại các giá trị để ánh xạ các giá trị màu.

  • In các giá trị so với các giá trị màu đỏ, xanh lục và xanh lam được ánh xạ.

Ví dụ

import numpy as np
from matplotlib import cm, colors
values = np.linspace(1.0, 2.0, 10)
norm = colors.Normalize(vmin=1.0, vmax=2.0, clip=True)
mapper = cm.ScalarMappable(norm=norm, cmap=cm.Greys_r)
for value in values:
   print("%.2f" % value, "=",
      "red:%.2f" % mapper.to_rgba(value)[0],
      "green:%.2f" % mapper.to_rgba(value)[1],
      "blue:%.2f" % mapper.to_rgba(value)[2])

Đầu ra

1.00 = red:0.00 green:0.00 blue:0.00
1.11 = red:0.13 green:0.13 blue:0.13
1.22 = red:0.28 green:0.28 blue:0.28
1.33 = red:0.41 green:0.41 blue:0.41
1.44 = red:0.53 green:0.53 blue:0.53
1.56 = red:0.66 green:0.66 blue:0.66
1.67 = red:0.78 green:0.78 blue:0.78
1.78 = red:0.87 green:0.87 blue:0.87
1.89 = red:0.95 green:0.95 blue:0.95
2.00 = red:1.00 green:1.00 blue:1.00