स्केलर वैल्यूज़ को RGBA कलर्स में मैप करने के लिए colors.Normalize और cm.ScalarMappable का उपयोग करें।
चरण
- वैल्यूज़ की रेंज बनाएं (उदाहरण: 1.0 से 2.0 तक 10 मान)।
colors.Normalize(vmin, vmax)से नॉर्मलाइज़र बनाएं।cm.ScalarMappable(norm, cmap)से मैपर बनाएं।- प्रत्येक वैल्यू के लिए
mapper.to_rgba(value)से RGBA टपल प्राप्त करें। - R, G, B कंपोनेंट्स प्रिंट करें।
उदाहरण कोड
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:
rgba = mapper.to_rgba(value)
print(f"{value:.2f} = red:{rgba[0]:.2f} green:{rgba[1]:.2f} blue:{rgba[2]:.2f}")
आउटपुट
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
व्याख्या
ग्रेस्केल कोलormap में सभी RGB कंपोनेंट्स समान होते हैं। वैल्यू 1.0 काला (0,0,0) और 2.0 सफेद (1,1,1) देता है।