最近有些朋友做畢設時尋求繪圖幫助,但又說不清楚自己的要求,寫個博客簡單介紹一下python中做分析圖表常用的seaborn與matplotlib這兩個功能強大庫,如果你還沒學會強大的matlab製作數據圖,恰巧又想學或者懂些python使用,那這兩個庫可能會讓你在短時間內得到滿意的圖,因爲官方給出的演示文檔實在是豐富。
1. Seaborn庫
Seaborn是一個使用Python製作統計圖形的庫,基於matplotlib之上的封裝,更加繪圖命令更簡潔,通常會配合pandas讀寫數據和matplotlib擴展繪圖一起使用。
seaborn 實例庫
函數接口彙總
實例庫中34個分析圖實例,你要的基本都都在這:
Notes:
如果提示seaborn庫不存在的話,安裝辦法:
- pip安裝
pip install seaborn
- 使用Anaconda,打開prompt
conda install seaborn
seaborn自帶的 load_dataset(name[, cache, data_home])
是加載在線存儲庫中數據的接口,讀取本地數據比如.CVS文件通常會使用pd.read_csv('train.csv')
。
2. Matplotlib庫
剛剛說到Seaborn是基於Matplotlib的封裝,所以Seaborn的功能Matplotlib中也都可以實現,案例也更加豐富,官方查看文檔非常清晰,與seaborn教程和pandas搭配不同,Matplotlib給出的官方教程都是配合numpy庫使用。
Matplotlib官方實例庫
官方文檔
通常上Matplotlib會默認集成到Anaconda,Canopy和ActiveState(分別對應Windows,macOS和Linux系統)的安裝包中,
只需要,
import matplotlib.pyplot as plt
import numpy as np
看會不會報錯,報錯的話動手裝一下,比如:
python -m pip install -U matplotlib
目前 Matplotlib 庫包括多種函數圖案例,2D畫圖設計,3D畫圖,還能根據數據畫出動態圖(就是那種三分鐘帶你瞭解某某變遷史動態顯示視頻),粗略數了一下,這個文檔裏有300多個案例,詳細和豐富程度讓我眼花,還要啥自行車? 網上教程一大片,細看基本也都出自於此。
下面是兩個庫的幾個基本圖形的接口:
圖形 | Seaborn | Matplotlib |
---|---|---|
折線圖 | lineplot(x=’’,y=’’,data=) | pyplot.plot(x,y) |
散點圖 | jointplot(x=’’,y=’’,data=,kind=‘scatter’) | pyplot.scatter |
直方圖 | distplot(x,kde=True) | pyplot.hist(x,bin=) |
箱線圖 | boxplot(data=) | pyplot.boxplot(x,labels=) |
Note: 如果只是因爲寫論文原因或者是偶爾需要畫圖的話,只需要在需要用的時候去官網查詢文檔,使用案例修得到自己需要的圖即可。如果是經常要和數據分析製圖打交道的話應該纔要儘量記住接口名稱。另外說起這兩個庫先學哪一個的話,個人認爲Seaborn較爲簡單,但需要進階的話還是用Matplotlib庫(也不難掌握),因此在兩種都能讓人喫飽的情況下,最好還是選擇更香的(Matplotlib)。