เมื่อใช้ DataFrame.plot() ของ Pandas พร้อม secondary_y กราฟจะแสดง Grid lines โดยอัตโนมัติ สามารถปิดได้โดยตั้งค่า grid=False ในเมธอด plot
ขั้นตอนการทำงาน
- นำเข้า
pandasและmatplotlib.pyplot - สร้าง DataFrame พร้อมข้อมูล
- พลอตด้วย
df.plot(secondary_y=[...], grid=False) - แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
data = pd.DataFrame({"column1": [4, 6, 7, 1, 8], "column2": [1, 5, 7, 8, 1]})
data.plot(secondary_y=[5], grid=False)
plt.show()
หมายเหตุเกี่ยวกับตัวอย่าง
โค้ดต้นฉบับมี secondary_y=[5] ซึ่งดูเหมือนจะเป็นดัชนีคอลัมน์ที่ 5 (แต่ DataFrame มีแค่ 2 คอลัมน์) ควรเป็นชื่อคอลัมน์หรือ boolean list เช่น secondary_y=['column2'] หรือ secondary_y=[False, True]
การควบคุม Grid แบบละเอียด
# ปิด grid ทั้งหมด
df.plot(grid=False)
# เปิด grid เฉพาะแกนหลัก
ax = df.plot(secondary_y=['column2'])
ax.grid(True, which='major', axis='x') # grid แกน X
ax.right_ax.grid(False) # ปิด grid แกน Y ขวา
# กำหนดสไตล์ grid
ax.grid(True, linestyle='--', alpha=0.5, color='gray', linewidth=0.5)
การใช้งานกับ Matplotlib โดยตรง
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x, y1, 'b-')
ax2.plot(x, y2, 'r-')
ax1.grid(True, axis='x') # grid แค่แกน X
ax1.grid(False, axis='y') # ปิด grid แกน Y ซ้าย
ax2.grid(False) # ปิด grid แกน Y ขวา
การประยุกต์ใช้
เหมาะสำหรับการนำเสนอข้อมูลที่ต้องการความสะอาดของกราฟ การพิมพ์รายงานคุณภาพสูง หรือเมื่อ grid lines ทำให้อ่านข้อมูลยาก (เช่นกราฟแท่งที่มีหลายกลุ่ม)