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

วิธาจัดการเวลาที่มี Time Zone ใน Matplotlib

ขั้นตอนการจัดการเวลาพร้อม Time Zone

การพล็อตข้อมูลเวลาที่มีเขตเวลา (timezone) ต้องใช้ไลบรารี pytz ร่วมกับ pandas

ขั้นตอนหลัก

  • ตั้งค่าขนาดรูปและ padding
  • สร้าง DataFrame พร้อม index ที่เป็น datetime และมี timezone
  • ใช้ pytz เพื่อดึงฐานข้อมูล timezone ของ Olson
  • พล็อต DataFrame ด้วยเมธอด plot()
  • แสดงผลด้วย show()

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

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import pytz

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

df = pd.DataFrame(
    dict(y=np.random.normal(size=5)),
    index=pd.date_range(
        start='2018-03-11 01:30',
        freq='15min',
        periods=5,
        tz=pytz.timezone('US/Eastern')
    )
)
df.plot()
plt.show()

คำอธิบาย

pytz.timezone('US/Eastern') ใช้กำหนด timezone ให้กับ datetime index