python數(shù)據(jù)可視化之日期折線圖畫(huà)法
本文實(shí)例為大家分享了python日期折線圖畫(huà)法的具體代碼,供大家參考,具體內(nèi)容如下
引入
什么是折線圖:
折線圖是排列在工作表的列或行中的數(shù)據(jù)可以繪制到折線圖中。折線圖可以顯示隨時(shí)間(根據(jù)常用比例設(shè)置)而變化的連續(xù)數(shù)據(jù),因此非常適用于顯示在相等時(shí)間間隔下數(shù)據(jù)的趨勢(shì)。
在折線圖中,類別數(shù)據(jù)沿水平軸均勻分布,所有值數(shù)據(jù)沿垂直軸均勻分布。
以上引用自 百度百科 ,簡(jiǎn)單來(lái)說(shuō)一般折線圖 是以時(shí)間作為 X 軸 數(shù)據(jù) 作為 Y軸,這當(dāng)然不是固定的,是可以自行設(shè)置的。
話不多說(shuō), 進(jìn)入正題
第一種畫(huà)法:
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'
# 生成一個(gè)時(shí)間序列?
time =pd.to_datetime(np.arange(0,11), unit='D',
? ? ? ? ? ? ? ? ? ?origin=pd.Timestamp('2019-01-01'))
# 生成數(shù)據(jù)
data = np.random.randint(10,50,size=11)
# 創(chuàng)建一個(gè)畫(huà)布
fig = plt.figure(figsize=(12,9))
# 在畫(huà)布上添加一個(gè)子視圖
ax = plt.subplot(111)
# 這里很重要 ?需要 將 x軸的刻度 進(jìn)行格式化
ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))
# 為X軸添加刻度
plt.xticks(pd.date_range(time[0],time[-1],freq='D'),rotation=45)
# 畫(huà)折線
ax.plot(time,data,color='r')
# 設(shè)置標(biāo)題
ax.set_title('折線圖示例')
# 設(shè)置 x y 軸名稱
ax.set_xlabel('日期',fontsize=20)
ax.set_ylabel('銷售量',fontsize=20)
注解
1、x 軸接收的日期類型 必須是下圖:

2、關(guān)于 pd.to_time() 中的參數(shù) 其中 uint = ‘D’ 表示 0~10 中全天 origin=pd.Timestamp(‘2019-01-01’) 表示起源 也就是 從 1月1號(hào)開(kāi)始算起
3、ax.xaxis.set_major_formatter(mdate.DateFormatter(’%Y-%m-%d’)) 如果想要顯示 x軸為日期類型 必須使用 格式化 格式化可以自行設(shè)置
4、pd.date_range(time[0],time[-1],freq=‘D’) 不要忘記還需要自己手動(dòng)添加刻度
第二種畫(huà)法:
import pyecharts.options as opts
from example.commons import ?Faker
from pyecharts.charts import Line
import pandas as pd
# 處理一下時(shí)間 ?
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()
好啦~先寫(xiě)到這里了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch四維Tensor轉(zhuǎn)圖片并保存方式(維度順序調(diào)整)
這篇文章主要介紹了Pytorch四維Tensor轉(zhuǎn)圖片并保存方式(維度順序調(diào)整),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
haskell實(shí)現(xiàn)多線程服務(wù)器實(shí)例代碼
這篇文章主要介紹了haskell實(shí)現(xiàn)的多線程服務(wù)器,大家參考使用吧2013-11-11
python 中的paramiko模塊簡(jiǎn)介及安裝過(guò)程
這篇文章主要介紹了python 中的paramiko模塊簡(jiǎn)介及安裝過(guò)程,通過(guò)實(shí)例詳解給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-02-02
Python調(diào)用百度AI實(shí)現(xiàn)圖片上文字識(shí)別功能實(shí)例
百度AI功能還是很強(qiáng)大的,百度AI開(kāi)放平臺(tái)真的是測(cè)試接口的天堂,免費(fèi)接口很多,當(dāng)然有量的限制,但個(gè)人使用是完全夠用的,下面這篇文章主要給大家介紹了關(guān)于Python調(diào)用百度AI實(shí)現(xiàn)圖片上文字識(shí)別功能的相關(guān)資料,需要的朋友可以參考下2021-09-09
如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺(tái)電腦
這篇文章主要介紹了如何將anaconda安裝配置的mmdetection環(huán)境離線拷貝到另一臺(tái)電腦,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
利用?Python?開(kāi)發(fā)一個(gè)?Python?解釋器
這篇文章主要介紹了利用?Python?開(kāi)發(fā)一個(gè)?Python?解釋器,在本文中,我們將設(shè)計(jì)一個(gè)可以執(zhí)行算術(shù)運(yùn)算的解釋器。下面我們大家一起來(lái)看看吧</P><P>2022-01-01
使用django實(shí)現(xiàn)一個(gè)代碼發(fā)布系統(tǒng)
這篇文章主要介紹了使用django實(shí)現(xiàn)一個(gè)代碼發(fā)布系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07

