不論是數(shù)據(jù)挖掘還是數(shù)據(jù)建模,都免不了數(shù)據(jù)可視化的問題。對于Python來說,Matplotlib是最著名的繪圖庫,它主要用于二維繪圖,當(dāng)然它也可以進行簡單的三維繪圖(基于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標(biāo)簽內(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)#標(biāo)簽展示位置,數(shù)字代表標(biāo)簽具位置 plt.xlabel('X軸稱') plt.ylabel('Y軸的名稱') plt.title('2018.7.30折線圖示例') plt.ylim(0,10)#Y軸標(biāo)簽范圍為0-10
plt常用參數(shù)有:
官網(wǎng)詳細說明點這里
屬性 | 描述 |
---|---|
xlabel | 設(shè)置當(dāng)前軸的x軸標(biāo)簽:plt.xlabel(‘X標(biāo)簽名') |
ylabel | 設(shè)置當(dāng)前軸的y軸標(biāo)簽:plt.xlabel(‘y標(biāo)簽名') |
title | 設(shè)置當(dāng)前軸的標(biāo)題:plt.title(‘圖例標(biāo)題名') |
ylim | 獲取或設(shè)置當(dāng)前軸的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常畫圖例有:
官網(wǎng)詳細說明點這里
屬性 | 描述 |
---|---|
plot | 繪制y與x作為線和/或標(biāo)記。 |
plot_date | 繪制包含日期的數(shù)據(jù)。 |
acorr | 繪制x的自相關(guān)。 |
axhline | 在軸上添加一條水平線。 |
bar | 制作條形圖。 |
barh | 制作一個水平條形圖。 |
hist | 繪制直方圖 |
hist2d | 制作2D直方圖。 |
scatter | y與x的散點圖,具有不同的標(biāo)記大小和/或顏色。 |
stackplot | 繪制堆積區(qū)域圖。 |
plot常用參數(shù)有:
官網(wǎng)詳細說明點這里
屬性 | 描述 |
---|---|
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ù)標(biāo)簽內(nèi)容:label=‘?dāng)?shù)據(jù)一',數(shù)據(jù)標(biāo)簽展示位置需另說明plt.legend(loc=1)數(shù)字為標(biāo)簽位置 |
因案例涉及機密數(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)建游標(biāo) 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準(zhǔn)確率',color='#aa0000',linestyle='-',linewidth=3)#畫機器A準(zhǔn)確率的線條 plt.plot(data1['人工A擬合度'],label='人工A準(zhǔn)確率',color='#aa0000',linestyle=':',linewidth=3)#畫人工A準(zhǔn)確率的線條 plt.plot(data1['機器B擬合度'],label='機器B準(zhǔn)確率',color='#666666',linestyle='-',linewidth=3)#畫機器B準(zhǔn)確率的線條 plt.plot(data1['人工B擬合度'],label='人工B準(zhǔn)確率',color='#666666',linestyle=':',linewidth=3)#畫人工B準(zhǔn)確率的線條 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標(biāo)簽為制定內(nèi)容 plt.legend(loc=4)#將圖例說明放在圖表的右下角 plt.title('人機絕對準(zhǔn)確率6.4-7.29',fontsize=20)#命名圖表名稱,設(shè)置字體大小 plt.xlabel('周',fontsize=20)#設(shè)置X軸名稱及字體大小 plt.ylabel('準(zhǔn)確率%',fontsize=20)#設(shè)置Y軸名稱及字體大小
到此這篇關(guān)于python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖的文章就介紹到這了,更多相關(guān)python matplotlib.pyplot折線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:雅安 七臺河 辛集 西安 渭南 贛州 濰坊 許昌
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖》,本文關(guān)鍵詞 python,數(shù)據(jù),可視化,之,matplotlib.pyplot,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。