Python--matplotlib 繪圖可視化練手--折線圖/條形圖
最近學習matplotlib繪圖可視化,感覺知識點比較多,邊學習邊記錄。
對於數據可視化,個人建議Jupyter Notebook。
1.首先導包,設置環境
import pandas as pdnimport numpy as npnimport sysnreload(sys)nsys.setdefaultencoding(utf-8)nimport matplotlib.pyplot as pltn%matplotlib inline #使圖片內嵌交互環境顯示nplt.rcParams[font.sans-serif]=[SimHei] #用來正常顯示中文標籤nplt.rcParams[axes.unicode_minus]=False #用來正常顯示負號n
2.讀取數據並顯示
data_every_month = pd.read_csv(data_every_month.txt)ndata_every_monthn
3.畫折線圖
y = data_every_month[nums].T.valuesnx = range(0,len(y))nplt.figure(figsize=(10, 6))nplt.plot(x,y,) nplt.xticks((0,20,40,60,80,100,120),(200504,200912,201108,201306,201502,201610,))nplt.xlabel(年月)nplt.ylabel(XX事件數)nplt.title(每月XX事件數)nplt.show()n
4.取片段數據,同一張圖畫兩條折線來區分
y1=y[79:91]ny2=y[91:102]nx1=range(0,len(y1))nx2=range(0,len(y2))nplt.figure(figsize=(10, 6))nplt.plot(x1,y1,,label="2015年")nplt.plot(x2,y2,,label="2016年")nplt.title(2015-2016年月XX事件數)nplt.legend(loc=upper right)nplt.xticks((0,2,4,6,8,10),(1月,3月,5月,7月,9月,11月))nplt.xlabel(月份)nplt.ylabel(XX事件數)nplt.grid(x1)nplt.show()n
5.讀取小時頻數數據,畫重疊的條形圖
data_hour2015 = pd.read_csv(data_hour2015.txt)ndata_hour2016 = pd.read_csv(data_hour2016.txt)nplt.figure(figsize=(10, 6))ndata_hour2015[nums].T.plot.bar(color=g,alpha=0.6,label=2015年)ndata_hour2016[nums].T.plot.bar(color=r,alpha=0.4,label=2016年)nplt.xlabel(小時)nplt.ylabel(XX事件數量)nplt.title(XX事件數小時分布)nplt.legend(loc=upper right)nplt.show()n
6.讀取周頻數數據,畫非重疊的條形圖
data_week2015 = pd.read_csv(data_week2015.txt)[nums].T.valuesndata_week2016 = pd.read_csv(data_week2016.txt)[nums].T.valuesnplt.figure(figsize=(10, 6))nxweek=range(0,len(data_week2015))nxweek1=[i+0.3 for i in xweek]nplt.bar(xweek,data_week2015,color=g,width = .3,alpha=0.6,label=2015年)nplt.bar(xweek1,data_week2016,color=r,width = .3,alpha=0.4,label=2016年)nplt.xlabel(周)nplt.ylabel(XX事件數量)nplt.title(XX事件數周分布)nplt.legend(loc=upper right)nplt.xticks(range(0,7),[星期日,星期一,星期二,星期三,星期四,星期五,星期六])nplt.show()n
7.讀取類別頻數數據畫水平條形圖
data_bar = pd.read_csv(data_bar.txt)nlabel = data_bar[wfxw].T.valuesnxtop = data_bar[nums].T.valuesnidx = np.arange(len(xtop))nfig = plt.figure(figsize=(12,12))nplt.barh(idx, xtop, color=b,alpha=0.6)nplt.yticks(idx+0.4,label)nplt.grid(axis=x)nplt.xlabel(XX事件次數)nplt.ylabel(XX事件名稱)nplt.title(2015.1-2016.11月XX事件排行榜)nplt.show()n
強化吸收下,感覺挺好。
附件附了所需要的數據,嘿嘿,初學的朋友也可以練練。
- datas.zip
本文作者:簡單的happy
推薦閱讀:
※Power BI應用場景賞析-銷售篇
※使用 ECharts GL 實現三維可視化 - 入門款
※R語言數據可視化之——TreeMap
※從數據可視化中看美國大選結果