網站首頁 編程語言 正文
本文實例為大家分享了python日期折線圖畫法的具體代碼,供大家參考,具體內容如下
引入
什么是折線圖:
折線圖是排列在工作表的列或行中的數據可以繪制到折線圖中。折線圖可以顯示隨時間(根據常用比例設置)而變化的連續數據,因此非常適用于顯示在相等時間間隔下數據的趨勢。
在折線圖中,類別數據沿水平軸均勻分布,所有值數據沿垂直軸均勻分布。
以上引用自 百度百科 ,簡單來說一般折線圖 是以時間作為 X 軸 數據 作為 Y軸,這當然不是固定的,是可以自行設置的。
話不多說, 進入正題
第一種畫法:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdate
from matplotlib.pyplot import rcParams?
%matplotlib inline
# 防止中文亂碼
rcParams['font.sans-serif'] = 'kaiti'
# 生成一個時間序列?
time =pd.to_datetime(np.arange(0,11), unit='D',
? ? ? ? ? ? ? ? ? ?origin=pd.Timestamp('2019-01-01'))
# 生成數據
data = np.random.randint(10,50,size=11)
# 創建一個畫布
fig = plt.figure(figsize=(12,9))
# 在畫布上添加一個子視圖
ax = plt.subplot(111)
# 這里很重要 ?需要 將 x軸的刻度 進行格式化
ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))
# 為X軸添加刻度
plt.xticks(pd.date_range(time[0],time[-1],freq='D'),rotation=45)
# 畫折線
ax.plot(time,data,color='r')
# 設置標題
ax.set_title('折線圖示例')
# 設置 x y 軸名稱
ax.set_xlabel('日期',fontsize=20)
ax.set_ylabel('銷售量',fontsize=20)
注解
1、x 軸接收的日期類型 必須是下圖:
2、關于 pd.to_time() 中的參數 其中 uint = ‘D’ 表示 0~10 中全天 origin=pd.Timestamp(‘2019-01-01’) 表示起源 也就是 從 1月1號開始算起
3、ax.xaxis.set_major_formatter(mdate.DateFormatter(’%Y-%m-%d’)) 如果想要顯示 x軸為日期類型 必須使用 格式化 格式化可以自行設置
4、pd.date_range(time[0],time[-1],freq=‘D’) 不要忘記還需要自己手動添加刻度
第二種畫法:
import pyecharts.options as opts
from example.commons import ?Faker
from pyecharts.charts import Line
import pandas as pd
# 處理一下時間 ?
start = '2019-01-01'
end = '2019-01-10'
t = pd.date_range(start=start,end=end).tolist()
time_ = []
for i in t:
? ? i ?= str(i)[:-8]
? ? time_.append(i)
def line_base() -> Line:
? ? c = (
? ? ? ? Line()
? ? ? ? .add_xaxis(time_)
? ? ? ? .add_yaxis("商家A", np.random.randint(100,400,size=10).tolist())
? ? ? ? .add_yaxis("商家B", np.random.randint(100,400,size=10).tolist())
? ? ? ? .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例"),
? ? ? ? yaxis_opts=opts.AxisOpts(name='商家銷售情況'),
? ? ? ? xaxis_opts=opts.AxisOpts(name='銷售日期')
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? )
? ? )
? ? return c
# 在 jupyter notebook 上渲染
line_base().render_notebook()
好啦~先寫到這里了
原文鏈接:https://chendayin.blog.csdn.net/article/details/92814414
相關推薦
- 2023-05-26 C語言中#pragma?pack(1)的用法與注意點_C 語言
- 2023-01-21 Python中的二維列表使用及說明_python
- 2021-11-09 C++11?thread多線程編程創建方式_C 語言
- 2022-10-05 Flutter列表滾動定位超強輔助庫使用示例詳解_IOS
- 2023-07-04 spring boot security自定義認證
- 2023-12-19 spring boot configuration annotation processor not
- 2022-08-16 C語言清楚了解指針的使用_C 語言
- 2022-05-02 dubbo服務使用redis注冊中心的系列異常解決_Redis
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支