Matplotlib – 日期處理,每12個月顯示年份刻度
為了使matplotlib日期處理能夠每12個月顯示年份刻度,我們可以採取以下步驟:
- 設定圖形大小並調整子圖之間和周圍的填充。
- 使用Pandas、Numpy和matplotlib日期建立**d、y、s、years、months、monthsFmt**和**yearsFmt**。
- 在DateFormatter中使用"%B"顯示完整的月份名稱。
- 在DateFormatter中使用"%Y"顯示年份。
- 建立一個新的圖形或啟用一個現有的圖形。
- 將'ax'作為子圖排列的一部分新增到圖形中。
- 使用**plot()**方法繪製"dts"和"s"資料點。
- 設定次要或主要軸定位器和格式化器。將**minor_locator**設定為**months**,以便每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()輸出
它將產生以下輸出


廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP