เมื่อต้องการควบคุมการแสดงป้ายกำกับ (tick labels) บนแกน X และ Y ให้แสดงค่าทั้งหมดตามที่ต้องการ สามารถใช้เมธอด set_xticklabels() และ set_yticklabels() ร่วมกับ set_xticks() และ set_yticks()
ขั้นตอนการทำงาน
- สร้างรายการค่าที่ต้องการให้เป็นเครื่องหมายบนแกน (เช่น
[1, 2, 3, 4]) - สร้าง Axes ด้วย
plt.subplot() - ตั้งค่าตำแหน่งเครื่องหมายด้วย
ax.set_xticks()และax.set_yticks() - ตั้งค่าป้ายกำกับที่ตำแหน่งเหล่านั้นด้วย
ax.set_xticklabels()และax.set_yticklabels()พร้อมกำหนดการหมุน (rotation) หากต้องการ - ปรับระยะห่างระหว่างแกนและป้ายกำกับด้วย
ax.tick_params()โดยใช้พารามิเตอร์pad - แสดงผลด้วย
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 และ Ydirection="in"- ทำให้เครื่องหมายชี้เข้าด้านในกราฟpad=15- ระยะห่างระหว่างเครื่องหมายกับป้ายกำกับ (หน่วยเป็นพอยต์)
เคล็ดลับเพิ่มเติม
- ใช้
rotation=45หรือrotation=90เพื่อป้องกันการทับซ้อนของป้ายกำกับที่ยาว - สามารถใช้
fontsizeในset_xticklabels()เพื่อปรับขนาดตัวอักษร - สำหรับข้อมูลวันที่ ใช้
matplotlib.dates.DateFormatterร่วมกับset_major_formatter()
การประยุกต์ใช้
เหมาะสำหรับกราฟที่มีหมวดหมู่ (categorical data) การแสดงชื่อเดือน วันในสัปดาห์ หรือป้ายกำกับที่เป็นข้อความเฉพาะเจาะจง แทนที่จะเป็นตัวเลขธรรมดา