python使用pyplot繪制橫軸為時間的圖
更新時間:2024年09月19日 09:32:49 作者:豆腐腦lr
介紹了如何在Python中使用matplotlib庫進行繪圖,并處理字符串日期格式轉換為date對象以及自定義x軸日期顯示格式的方法,首先,導入必要的環(huán)境和繪圖方法,其次,處理橫坐標數(shù)組,將字符串型的日期轉換成date對象,以便用于繪圖
1. 導入環(huán)境
import numpy as np import matplotlib.pyplot as plt from IPython import display from datetime import datetime from datetime import date
2. 繪圖方法
def myplot(x, y, label=None, xlimit=None, size=(9, 3),fileName=None):
display.set_matplotlib_formats('svg')
if len(x) == len(y):
plt.figure(figsize=size)
if xlimit and isinstance(xlimit, tuple):
plt.xlim(xlimit)
plt.plot(x, y, label=label)
if label and isinstance(label, str):
plt.legend()
if fileName:
plt.savefig(fileName)
plt.show()
else:
raise ValueError("x 和 y 的長度不一致!")
3. 繪圖
原始橫坐標數(shù)組是一個字符串型的,無法直接用于plot(x, y)中的x
time[0:10]
array([['2019-01-01 00:14:00'],
['2019-01-01 00:29:00'],
['2019-01-01 00:44:00'],
['2019-01-01 00:59:00'],
['2019-01-01 01:14:00'],
['2019-01-01 01:29:00'],
['2019-01-01 01:44:00'],
['2019-01-01 01:59:00'],
['2019-01-01 02:14:00'],
['2019-01-01 02:29:00']], dtype='<U19')將字符串的時間轉換成date對象
x_time= [datetime.strptime(d, '%Y-%m-%d %H:%M:%S') for d in time]
繪圖
myplot(x_time, y_num, label='car_num',
xlimit=(date(2019, 1, 1), date(2019, 1, 22) ),
size=(12, 3),
fileName='my_dataset-car-num.svg')
4.自定義x軸日期顯示格式
如果想自定義坐標軸顯示格式,可以更改一下繪圖方法,通過DateFormatter來實現(xiàn)。
from matplotlib.dates import DateFormatter
def myplot(x, y, label=None, xlimit=None, size=(9, 3),fileName=None):
display.set_matplotlib_formats('svg')
if len(x) == len(y):
plt.figure(figsize=size)
if xlimit and isinstance(xlimit, tuple):
plt.xlim(xlimit)
plt.plot(x, y, label=label)
if label and isinstance(label, str):
plt.legend()
if fileName:
plt.savefig(fileName)
# ======= 以下是新增代碼
ax = plt.gca()
formatter = DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(formatter) # 設置時間顯示格式
# ==============
plt.show()
else:
raise ValueError("x 和 y 的長度不一致!")效果如下:

總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用python進行PostgreSQL數(shù)據庫連接全過程
這篇文章主要介紹了使用python進行PostgreSQL數(shù)據庫連接的相關資料,包括安裝psycopg2模塊、使用PyCharm進行圖形化連接、代碼連接數(shù)據庫的方法、以及如何執(zhí)行DML和DQL操作,需要的朋友可以參考下2025-03-03
Python TensorFlow 2.6獲取MNIST數(shù)據的示例代碼
這篇文章主要介紹了Python TensorFlow 2.6獲取MNIST數(shù)據的的相關示例,文中有詳細的代碼示例供大家參考,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-04-04
Pycharm安裝第三方庫時Non-zero exit code錯誤解決辦法
這篇文章主要介紹了Pycharm安裝第三方庫時Non-zero exit code錯誤解決辦法,最好的解決辦法可以通過“Pycharm”左下角的“Terminal”,在pycharm內使用pip安裝,以安裝“requests”為例,需要的朋友可以參考下2023-01-01
python3連接mysql獲取ansible動態(tài)inventory腳本
Ansible Inventory 是包含靜態(tài) Inventory 和動態(tài) Inventory 兩部分的,靜態(tài) Inventory 指的是在文件中指定的主機和組,動態(tài) Inventory 指通過外部腳本獲取主機列表。這篇文章主要介紹了python3連接mysql獲取ansible動態(tài)inventory腳本,需要的朋友可以參考下2020-01-01
python爬蟲之利用Selenium+Requests爬取拉勾網
這篇文章主要介紹了python爬蟲之利用Selenium+Requests爬取拉勾網,文中有非常詳細的代碼示例,對正在學習python爬蟲的小伙伴們有很好的幫助,需要的朋友可以參考下2021-04-04

