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

วิธีแสดงค่าป้ายกำกับทั้งหมดบนแกนใน Matplotlib

เมื่อต้องการควบคุมการแสดงป้ายกำกับ (tick labels) บนแกน X และ Y ให้แสดงค่าทั้งหมดตามที่ต้องการ สามารถใช้เมธอด set_xticklabels() และ set_yticklabels() ร่วมกับ set_xticks() และ set_yticks()

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

  1. สร้างรายการค่าที่ต้องการให้เป็นเครื่องหมายบนแกน (เช่น [1, 2, 3, 4])
  2. สร้าง Axes ด้วย plt.subplot()
  3. ตั้งค่าตำแหน่งเครื่องหมายด้วย ax.set_xticks() และ ax.set_yticks()
  4. ตั้งค่าป้ายกำกับที่ตำแหน่งเหล่านั้นด้วย ax.set_xticklabels() และ ax.set_yticklabels() พร้อมกำหนดการหมุน (rotation) หากต้องการ
  5. ปรับระยะห่างระหว่างแกนและป้ายกำกับด้วย ax.tick_params() โดยใช้พารามิเตอร์ pad
  6. แสดงผลด้วย plt.show()

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

import matplotlib.pyplot as plt

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

x = [1, 2, 3, 4]
ax1 = plt.subplot()
ax1.set_xticks(x)
ax1.set_yticks(x)
ax1.set_xticklabels(["one", "two", "three", "four"], rotation=45)
ax1.set_yticklabels(["one", "two", "three", "four"], rotation=45)
ax1.tick_params(axis="both", direction="in", pad=15)
plt.show()

คำอธิบายพารามิเตอร์ tick_params()

  • axis="both" - ใช้กับทั้งแกน X และ Y
  • direction="in" - ทำให้เครื่องหมายชี้เข้าด้านในกราฟ
  • pad=15 - ระยะห่างระหว่างเครื่องหมายกับป้ายกำกับ (หน่วยเป็นพอยต์)

เคล็ดลับเพิ่มเติม

  • ใช้ rotation=45 หรือ rotation=90 เพื่อป้องกันการทับซ้อนของป้ายกำกับที่ยาว
  • สามารถใช้ fontsize ใน set_xticklabels() เพื่อปรับขนาดตัวอักษร
  • สำหรับข้อมูลวันที่ ใช้ matplotlib.dates.DateFormatter ร่วมกับ set_major_formatter()

การประยุกต์ใช้

เหมาะสำหรับกราฟที่มีหมวดหมู่ (categorical data) การแสดงชื่อเดือน วันในสัปดาห์ หรือป้ายกำกับที่เป็นข้อความเฉพาะเจาะจง แทนที่จะเป็นตัวเลขธรรมดา