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

วิธีข้ามวันหยุดสุดสัปดาห์ในกราฟการเงิน Matplotlib

ในข้อมูลการเงินรายวัน ต้องการข้ามวันเสาร์-อาทิตย์ (weekday 5, 6) ใช้ pd.date_range สร้างช่วงวันที่ แล้ววนลูปตรวจสอบ t.weekday() ข้ามการพลอตถ้าเป็น 5 หรือ 6

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

  1. ตั้งค่าขนาดรูปและเลย์เอาต์
  2. สร้าง DataFrame ด้วย pd.date_range
  3. วนลูป index และ timestamp
  4. ถ้า weekday ไม่ใช่ 5, 6 ให้พลอตจุด
  5. ตั้งค่า 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()

ผลลัพธ์

วิธีข้ามวันหยุดสุดสัปดาห์ในกราฟการเงิน Matplotlib