python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖
不論是數(shù)據(jù)挖掘還是數(shù)據(jù)建模,都免不了數(shù)據(jù)可視化的問題。對于Python來說,Matplotlib是最著名的繪圖庫,它主要用于二維繪圖,當然它也可以進行簡單的三維繪圖(基于spyder)。
- 模塊引用
import matplotlib.pyplot as plt #引用畫圖庫中的pyplot模塊
-折線條圖
語法
import matplotlib.pyplot as plt data=[1,2,3,4,5,4,2,4,6,7] #隨便創(chuàng)建了一個數(shù)據(jù) plt.plot(data) #引用畫圖庫中的pyplot模塊
plot參數(shù)
基本折線圖不能滿足,這時就需plot的參數(shù)來進行調(diào)整
美化示例:
import matplotlib.pyplot as plt yy=[1,2,3,4,5,4,2,4,6,7]#隨便創(chuàng)建了一個數(shù)據(jù) xx=[3,5,4,1,2,3,4,5,6,3] zz=[2,3,4,6,4,3,2,4,5,6] plt.plot(yy,color='r',linewidth=5,linestyle=':',label='數(shù)據(jù)一')#color指定線條顏色,labeL標簽內(nèi)容 plt.plot(xx,color='g',linewidth=2,linestyle='--',label='數(shù)據(jù)二')#linewidth指定線條粗細 plt.plot(zz,color='b',linewidth=0.5,linestyle='-',label='數(shù)據(jù)三')#linestyle指定線形為點 plt.legend(loc=2)#標簽展示位置,數(shù)字代表標簽具位置 plt.xlabel('X軸稱') plt.ylabel('Y軸的名稱') plt.title('2018.7.30折線圖示例') plt.ylim(0,10)#Y軸標簽范圍為0-10
plt常用參數(shù)有:
屬性 | 描述 |
---|---|
xlabel | 設(shè)置當前軸的x軸標簽:plt.xlabel(‘X標簽名') |
ylabel | 設(shè)置當前軸的y軸標簽:plt.xlabel(‘y標簽名') |
title | 設(shè)置當前軸的標題:plt.title(‘圖例標題名') |
ylim | 獲取或設(shè)置當前軸的y限制,plt.ylim(0,6)Y軸范圍0-6;Xlim同理懶的寫了 |
legend | 在軸上放置圖例:legend()無參數(shù)自動識別,也可用數(shù)字指定位置1,2,3,4試著來 |
show | 展示所畫圖,spyder一般直接運行不需要此步 |
grid | plt.grid()打開或關(guān)閉軸網(wǎng)格,網(wǎng)格一樣能設(shè)置顏色線型 |
rcParams[‘font.sans-serif'] | 圖表中文字體:plt.rcParams[‘font.sans-serif']=[‘SimHei']微軟雅黑;或=[‘Microsoft Yahei']黑體 |
rcParams[‘a(chǎn)xes.unicode_minus'] | 圖表軸負數(shù)符號顯示問題:plt.rcParams[‘a(chǎn)xes.unicode_minus'] = False |
plt常畫圖例有:
屬性 | 描述 |
---|---|
plot | 繪制y與x作為線和/或標記。 |
plot_date | 繪制包含日期的數(shù)據(jù)。 |
acorr | 繪制x的自相關(guān)。 |
axhline | 在軸上添加一條水平線。 |
bar | 制作條形圖。 |
barh | 制作一個水平條形圖。 |
hist | 繪制直方圖 |
hist2d | 制作2D直方圖。 |
scatter | y與x的散點圖,具有不同的標記大小和/或顏色。 |
stackplot | 繪制堆積區(qū)域圖。 |
plot常用參數(shù)有:
屬性 | 描述 |
---|---|
color | 字體顏色:color=‘r';b、g、r、c、m、y、k、w 或者blue、green、red、cyan、magenta、yellow、black、whtite 或十六進制字符串('#008000') |
linewidth | 線條粗細:linewidth=1.=5.=0.3 |
linestyle | 線條形狀:linestyle='–'(虛線);linestyle=':'(點線);linestyle='-.'(短線加點); |
label | 數(shù)據(jù)標簽內(nèi)容:label=‘數(shù)據(jù)一',數(shù)據(jù)標簽展示位置需另說明plt.legend(loc=1)數(shù)字為標簽位置 |
實際應(yīng)用案例
因案例涉及機密數(shù)據(jù),只展示數(shù)據(jù)可視化的過程及結(jié)果,先放結(jié)果輸出的樣式
import pandas as pd #導(dǎo)入pandas庫 import pymysql as mysql #導(dǎo)入mysql庫 import matplotlib.pyplot as plt #導(dǎo)入數(shù)據(jù)可視化庫 import numpy as np #導(dǎo)入numpy庫 plt.rcParams['font.sans-serif'] = ['Microsoft Yahei'] #指定文字字體格式為微軟雅黑字段 plt.rcParams['axes.unicode_minus'] = False
connection=mysql.connect(host='數(shù)據(jù)庫ip',port='端口',user='用戶賬號',password='登錄密碼',db='連接的庫名',charset='utf8')#設(shè)置連接數(shù)據(jù)庫的參數(shù) select=connection.cursor()#創(chuàng)建游標 select.execute("SELECT * FROM tabel")#寫入SQL查詢語句 zd=list((pd.DataFrame(list(select.description)))[0])#獲取查詢結(jié)果的列名 sqldata=select.fetchall()#獲取查詢結(jié)果 select.close #關(guān)閉查詢 connection.close #關(guān)閉數(shù)據(jù)庫接接 data1=pd.DataFrame(list(sqldata)) #將數(shù)據(jù)轉(zhuǎn)化成df類型 data1.columns=zd #將列名重置為查詢結(jié)果列名 plt.figure(figsize=(10,5)) #設(shè)置圖表大小,長10,寬5 plt.plot(data1['機器A擬合度'],label='機器A準確率',color='#aa0000',linestyle='-',linewidth=3)#畫機器A準確率的線條 plt.plot(data1['人工A擬合度'],label='人工A準確率',color='#aa0000',linestyle=':',linewidth=3)#畫人工A準確率的線條 plt.plot(data1['機器B擬合度'],label='機器B準確率',color='#666666',linestyle='-',linewidth=3)#畫機器B準確率的線條 plt.plot(data1['人工B擬合度'],label='人工B準確率',color='#666666',linestyle=':',linewidth=3)#畫人工B準確率的線條 plt.plot([0,7],[0.9,0.9],color='g',linestyle='-.',linewidth=1)#畫一根綠色的輔助線,x軸從0到7,Y軸為0.9 plt.xticks(np.arange(8),('wk23','wk24','wk25','wk26','wk27','wk28','wk29','wk30'))#更改圖表X標簽為制定內(nèi)容 plt.legend(loc=4)#將圖例說明放在圖表的右下角 plt.title('人機絕對準確率6.4-7.29',fontsize=20)#命名圖表名稱,設(shè)置字體大小 plt.xlabel('周',fontsize=20)#設(shè)置X軸名稱及字體大小 plt.ylabel('準確率%',fontsize=20)#設(shè)置Y軸名稱及字體大小
總結(jié)
到此這篇關(guān)于python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖的文章就介紹到這了,更多相關(guān)python matplotlib.pyplot折線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python 如何在 Matplotlib 中繪制垂直線
- python matplotlib擬合直線的實現(xiàn)
- Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法
- Python+matplotlib實現(xiàn)簡單曲線的繪制
- Python matplotlib 繪制雙Y軸曲線圖的示例代碼
- Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)
- 教你利用python的matplotlib(pyplot)繪制折線圖和柱狀圖
- Python?matplotlib實現(xiàn)折線圖的繪制
- python學(xué)習(xí)之使用Matplotlib畫實時的動態(tài)折線圖的示例代碼
- python??Matplotlib繪圖直線,折線,曲線
相關(guān)文章
Python面向?qū)ο蟪绦蛟O(shè)計之靜態(tài)方法、類方法、屬性方法原理與用法分析
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之靜態(tài)方法、類方法、屬性方法,結(jié)合實例形式分析了Python靜態(tài)方法、類方法、屬性方法相關(guān)概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下2020-03-03Python 利用高德地圖api實現(xiàn)經(jīng)緯度與地址的批量轉(zhuǎn)換
這篇文章主要介紹了Python 利用高德地圖api實現(xiàn)經(jīng)緯度與地址的批量轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08TorchVision Transforms API目標檢測實例語義分割視頻類
這篇文章主要為大家介紹了TorchVision Transforms API大升級,支持目標檢測、實例/語義分割及視頻類任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用
pyexecjs是一個用Python來執(zhí)行JavaScript代碼的工具庫,本文主要介紹了Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用,具有一定的參考價值,感興趣的可以了解一下2024-02-02