Python數(shù)據(jù)分析matplotlib折線圖案例處理
前言
以下分享折線圖小案例,matplotlib還可以進(jìn)行多種圖形的繪制,可以進(jìn)入官網(wǎng) https://matplotlib.org/gallery/index.html,點(diǎn)擊examples,如需學(xué)習(xí),選擇要學(xué)習(xí)的圖進(jìn)入,里面包含有代碼
python之matplotlib使用系統(tǒng)字體
1.導(dǎo)包from matplotlib.font_manager import FontProperties2.調(diào)用本機(jī)字體庫設(shè)置字體my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
其中,msyh.ttc是自己電腦中的字體,如何找到呢?
在路徑C:\Windows\Fonts的文件夾中,有如下字體,如下圖:



繪圖的時(shí)候,直接調(diào)用就好
??plt.xticks(list(x)[::3],_xtick_labels[::3],rotatinotallow=45,fnotallow=my_font)??
實(shí)例1:溫度變化統(tǒng)計(jì)
#如果列表a便是10點(diǎn)到12點(diǎn)的每一分鐘的氣溫,繪制折線圖
# a=[random.randint(20,35)for i in range(120)]
#解決中文不顯示問題
#fc-list -->查看支持的字體
#fc-list :lang=zh -->查看支持的中文(冒號(hào)前有空格)
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
#1.windows\linux設(shè)置字體
#font = {'family' : 'MicroSoft YaHei',
# 'weight' : 'bold',
# 'size' : 'larger'}
#matplotlib.rc("font",**font) #查看源碼ctrl+b
#2.另一種設(shè)置字體方式
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
#定義x、y軸
x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
#修改大小尺寸
plt.figure(figsize=(20,8),dpi=80)
#繪制
plt.plot(x,y)
#調(diào)整x軸的刻度
_xtick_labels = ["10點(diǎn){}分".format(i) for i in range(60)]
_xtick_labels += ["11點(diǎn){}分".format(i) for i in range(60)]
#取適當(dāng)步長,將數(shù)字與x軸字符串對(duì)應(yīng),使得數(shù)據(jù)長度保持一致
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font) #將x軸字符串旋轉(zhuǎn)45度
#添加描述信息
plt.xlabel("時(shí)間",fontproperties=my_font)
plt.ylabel("溫度 單位(°c)",fontproperties=my_font)
plt.title("10點(diǎn)到12點(diǎn)每分鐘的氣溫變化情況",fontproperties=my_font)
#顯示圖示
plt.show()
實(shí)例2:交友數(shù)量折線圖
#你與朋友從11到30歲交的朋友數(shù),并比較
from matplotlib import pyplot as plt
from matplotlib import font_manager
#設(shè)置字體
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
#定義坐標(biāo)軸
x = range(11,31)
y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3]
y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4]
#設(shè)置圖形大小
plt.figure(figsize=(20,8),dpi=80)
#繪制
plt.plot(x,y_1)
plt.plot(x,y_2)
#繪制x\y軸刻度,添加描述信息
_xtick_labels = ["{}歲".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,10))
plt.xlabel("年齡",fontproperties=my_font)
plt.ylabel("每年交到的新朋友數(shù)",fontproperties=my_font)
plt.title("與朋友每年新交到朋友數(shù)量對(duì)比圖",fontproperties=my_font)
#繪制網(wǎng)格,并設(shè)置透明度
plt.grid(alpha=0.3)
#展示
plt.show()1.這個(gè)案例中涉及到一表多圖,其實(shí)很簡單,與單圖設(shè)計(jì)一樣,只要再添加一組y軸坐標(biāo)。
這里x軸是共有的,不需要另行設(shè)置。#定義坐標(biāo)軸?x = range(11,31)y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3]y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4]#繪制plt.plot(x,y_1)plt.plot(x,y_2)
2.繪制網(wǎng)格及設(shè)置透明度
plt.grid(alpha=0.3)

3.但是當(dāng)你給別人展示時(shí),并沒有源碼,別人很難分清哪個(gè)曲線是你的,哪個(gè)是你朋友的,這時(shí)就需要我們添加圖例,并且要注意的是:
通常我們?cè)O(shè)置中文字體是對(duì)應(yīng)方法后添加fontproperties=my_font,但是在添加圖例中用到的是prop=my_font

如圖所示:

4.更改圖例位置
由于初學(xué),很多方法我們還不是很清楚,所以我們要學(xué)會(huì)查看源碼(選中方法名+ctrl+b)

再使用一次,進(jìn)入后會(huì)找到有關(guān)參數(shù)loc(location)的描述,我們?cè)O(shè)置loc=“upper left”,結(jié)果如圖所示


5.設(shè)置曲線顏色,線條樣式

#繪制,添加顏色 plt.plot(x,y_1,label="自己",color="y") plt.plot(x,y_2,label="朋友",color="cyan")


#繪制,添加線條類型 plt.plot(x,y_1,label="自己",color="purple",linestyle='-.') plt.plot(x,y_2,label="朋友",color="cyan",linestyle='--')

到此這篇關(guān)于Python數(shù)據(jù)分析matplotlib折線圖案例處理的文章就介紹到這了,更多相關(guān)Python matplotlib折線圖 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python數(shù)據(jù)分析應(yīng)用之Matplotlib數(shù)據(jù)可視化詳情
- python數(shù)據(jù)分析之單因素分析線性擬合及地理編碼
- python數(shù)據(jù)分析繪圖可視化
- Python數(shù)據(jù)分析基礎(chǔ)之異常值檢測(cè)和處理方式
- Python數(shù)據(jù)分析numpy數(shù)組的3種創(chuàng)建方式
- Python數(shù)據(jù)分析之Matplotlib數(shù)據(jù)可視化
- Python數(shù)據(jù)分析之使用scikit-learn構(gòu)建模型
- Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié)
- 使用python對(duì)泰坦尼克號(hào)幸存者進(jìn)行數(shù)據(jù)分析與預(yù)測(cè)
相關(guān)文章
pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)
這篇文章主要介紹了pytorch如何定義新的自動(dòng)求導(dǎo)函數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。2022-12-12
python3.x實(shí)現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了python3.x實(shí)現(xiàn)發(fā)送郵件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Python人工智能深度學(xué)習(xí)RNN模型結(jié)構(gòu)流程
這篇文章主要為大家介紹了Python人工智能深度學(xué)習(xí)RNN的模型流程結(jié)構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Python 文件數(shù)據(jù)讀寫的具體實(shí)現(xiàn)
這篇文章主要介紹了Python 文件數(shù)據(jù)讀寫的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01

