python數據可視化之日期折線圖畫法
本文實例為大家分享了python日期折線圖畫法的具體代碼,供大家參考,具體內容如下
引入
什么是折線圖:
折線圖是排列在工作表的列或行中的數據可以繪制到折線圖中。折線圖可以顯示隨時間(根據常用比例設置)而變化的連續(xù)數據,因此非常適用于顯示在相等時間間隔下數據的趨勢。
在折線圖中,類別數據沿水平軸均勻分布,所有值數據沿垂直軸均勻分布。
以上引用自 百度百科 ,簡單來說一般折線圖 是以時間作為 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) # 創(chuàng)建一個畫布 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()
好啦~先寫到這里了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Pytorch四維Tensor轉圖片并保存方式(維度順序調整)
這篇文章主要介紹了Pytorch四維Tensor轉圖片并保存方式(維度順序調整),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺電腦
這篇文章主要介紹了如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺電腦,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10