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

วิธีพลอตข้อมูลใน imshow() พร้อม Custom Colormap ใน Matplotlib


ภาพรวม

สาธิตการสร้าง Custom Colormap จากรายการสี และใช้กับ imshow()

ขั้นตอน

  1. ตั้งค่า Figure
  2. สร้างข้อมูลสุ่ม 5x5
  3. สร้าง Colormap ด้วย ListedColormap(['r', 'g', 'b'])
  4. พลอตด้วย plt.imshow(data, cmap=cmap)
  5. แสดงผล

ตัวอย่างโค้ด

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

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

data = np.random.rand(5, 5)
cmap = ListedColormap(['r', 'g', 'b'])
plt.imshow(data, cmap=cmap)
plt.show()

ผลลัพธ์

Heatmap 5x5 ใช้สีแดง เขียว น้ำเงิน แทนค่าต่ำ กลาง สูง

การสร้าง Colormap แบบอื่น

  • LinearSegmentedColormap.from_list('name', ['red', 'yellow', 'green']) - Gradient
  • plt.cm.get_cmap('viridis') - Built-in Colormaps
  • cmap.set_under('gray'), cmap.set_over('white') - สีสำหรับค่านอกขอบเขต