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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python的Post請求數(shù)據(jù)爬取的方法詳解
這篇文章主要介紹了基于Python的Post請求數(shù)據(jù)爬取的方法,需要的朋友可以參考下2019-06-06
Python?Bokeh實現(xiàn)實時數(shù)據(jù)可視化
在數(shù)據(jù)分析和科學(xué)計算中,數(shù)據(jù)可視化是不可或缺的一部分,本文將通過簡潔的語言和具體的代碼示例,介紹如何使用Bokeh庫進行實時數(shù)據(jù)可視化,感興趣的可以了解下2024-12-12

