ในข้อมูลการเงินรายวัน ต้องการข้ามวันเสาร์-อาทิตย์ (weekday 5, 6) ใช้ pd.date_range สร้างช่วงวันที่ แล้ววนลูปตรวจสอบ t.weekday() ข้ามการพลอตถ้าเป็น 5 หรือ 6
ขั้นตอนการทำงาน
- ตั้งค่าขนาดรูปและเลย์เอาต์
- สร้าง DataFrame ด้วย
pd.date_range - วนลูป index และ timestamp
- ถ้า weekday ไม่ใช่ 5, 6 ให้พลอตจุด
- ตั้งค่า yticks และ grid แล้วแสดงผล
ตัวอย่างโค้ด
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame(dict(time=list(pd.date_range(start="2021-01-01", end="2021-01-15"))))
for i, t in zip(df.index, df.time):
if t.weekday() in (5, 6):
pass
else:
plt.plot(i, t, marker="*", ms=10)
plt.yticks(df.time)
plt.grid(True)
plt.show()
ผลลัพธ์
