ในการทำให้การจัดการวันที่ของ matplotlib เพื่อให้เครื่องหมายปีปรากฏขึ้นทุก ๆ 12 เดือน เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- สร้าง d, y, s, ปี, เดือน, monthsFmt และ ปีFmt โดยใช้วันที่ของ Pandas, Numpy และ matplotlib
- ใช้ "%B" ใน DateFormatter เพื่อแสดงชื่อเดือนเต็ม
- Ue "%Y" ใน DateFormatter เพื่อแสดงปี
- สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
- เพิ่ม 'ขวาน' ให้กับร่างเป็นส่วนหนึ่งของการจัดเรียงแผนย่อย
- พล็อตจุดข้อมูล "dts" และ "s" โดยใช้ plot() วิธีการ
- ตั้งค่าตัวระบุตำแหน่งและตัวจัดรูปแบบแกนรองหรือหลัก ตั้งค่า minor_locator เป็น เดือน เพื่อให้เครื่องหมายปีแสดงทุก 12 เดือน
- หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
import numpy as np from matplotlib import pyplot as plt, dates as mdates import pandas as pd plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True d = pd.date_range("2020-01-01", "2021-06-01", freq="7D") y = np.cumsum(np.random.normal(size=len(d))) s = pd.Series(y, index=d) years = mdates.YearLocator() months = mdates.MonthLocator() monthsFmt = mdates.DateFormatter('%B') yearsFmt = mdates.DateFormatter('\n%Y') dts = s.index.to_pydatetime() fig = plt.figure() ax = fig.add_subplot(111) ax.plot(dts, s) ax.xaxis.set_minor_locator(months) ax.xaxis.set_minor_formatter(monthsFmt) plt.setp(ax.xaxis.get_minorticklabels(), rotation=90) ax.xaxis.set_major_locator(years) ax.xaxis.set_major_formatter(yearsFmt) plt.show()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้