Để á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