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

การสร้าง Colorbar แบบแยกต่างหาก (ไม่ผูกกับ Plot) ใน Matplotlib

ขั้นตอนการทำงาน

  • กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots

  • สร้าง Figure และชุด Subplots

  • ปรับพารามิเตอร์เลย์เอาต์ Subplot

  • สร้าง Normalize object สำหรับกำหนดช่วงค่า (vmin, vmax)

  • สร้าง ColorbarBase แบบแนวนอน (horizontal) โดยไม่ต้องมี Plot

  • แสดงรูปภาพด้วยเมธอด show()

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

import matplotlib.pyplot as plt
import matplotlib as mpl

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

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.5)

# Normalize ช่วงค่า 5 ถึง 10
norm = mpl.colors.Normalize(vmin=5, vmax=10)

# สร้าง Colorbar แบบแยกต่างหาก แนวนอน
cb = mpl.colorbar.ColorbarBase(ax, cmap=mpl.cm.cool,
    norm=norm, orientation='horizontal')

plt.show()

ผลลัพธ์

Colorbar แบบแนวนอน (Horizontal) อยู่ล่างกราฟ ไม่มี Plot ใดๆ ผูกมาด้วย ใช้ Colormap 'cool' ช่วงค่า 5-10

ประโยชน์: ใช้เป็น Legend แบบสีสำหรับแผนที่ ชาร์ต หรือ Dashboard ที่ต้องการแสดงสเกลสีแยกต่างหาก