Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จับคู่ค่ากับสีใน Matplotlib


ในการแมปค่ากับทูเพิลสี (แดง เขียว และน้ำเงิน) ใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • สร้างรายการค่าตั้งแต่ 1.00 ถึง 2.00 นับ=10

  • รับข้อมูลที่ปรับให้เป็นเส้นตรงเป็นเส้นตรงในช่วง vmin และ vmax

  • รับวัตถุเพื่อจับคู่ข้อมูลสเกลาร์กับ rgba

  • วนซ้ำค่าเพื่อจับคู่ค่าสี

  • พิมพ์ค่าเทียบกับค่าสีแดง สีเขียว และสีน้ำเงินที่แมปไว้

ตัวอย่าง

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])

ผลลัพธ์

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