matplotlib的plt解決繪制橫坐標為日期的圖


說明:最近畫圖,又忘記了如何設置日期為橫坐標,經過折騰,特意記錄一下。

1.代碼

#coding:utf-8
from datetime import datetime
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
#設置中文字體
# plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
# 生成橫縱坐標信息
dates = ['2018/01/01','2018/1/2', '2018/1/03', '2018/01/4','2018/01/5','2018/01/6','2018/01/07','2018/01/08']
date = [datetime.strptime(d, '%Y/%m/%d').date() for d in dates]
y=[25,18,13,14,12,17,16,15]
# 配置橫坐標
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y/%m/%d'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
#設置每隔多少距離一個刻度
plt.xticks(date[::2])
plt.ylabel(u"y值")
plt.xlabel(u"時間(天)")
plt.plot(date, y,label=u"曲線")
plt.legend()
plt.gcf().autofmt_xdate()  # 自動旋轉日期標記
plt.show()

 

 

 

 

2.說明

本文使用固定的列表日期,使用plt繪制圖形時,需要將日期轉換為datetime.date數據類型,而不能為str類型。然后配置橫坐標,

設置的%Y/%m/%d要與列表中的元素格式對應。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM