- Python數(shù)據(jù)可視化之matplotlib精進(jìn)
- 劉大成
- 806字
- 2019-06-19 15:45:05
3.4 繪圖區(qū)域嵌套子繪圖區(qū)域
在一般情況下,我們不僅可以在一個(gè)繪圖區(qū)域上進(jìn)行數(shù)據(jù)可視化實(shí)踐,還可以在一個(gè)繪圖區(qū)域上嵌套子繪圖區(qū)域,從而實(shí)現(xiàn)畫布上的繪圖區(qū)域的復(fù)合展示。下面,我們就通過(guò)嵌套直方圖和分布函數(shù)曲線等圖形,具體講解繪圖區(qū)域的嵌套的實(shí)現(xiàn)方法。
1.代碼實(shí)現(xiàn)


2.運(yùn)行結(jié)果(見圖3-5)

圖3-5
3.代碼精講
(1)通過(guò)調(diào)用“ax.plot(x,y,ls="-",lw=2,color="steelblue")”語(yǔ)句,繪制主繪圖區(qū)域的折線圖。其中,參數(shù)y是樣本容量為200、均值為75和標(biāo)準(zhǔn)差為15的正態(tài)分布的數(shù)組。
(2)需要在主繪圖區(qū)域嵌套第一個(gè)子繪圖區(qū)域。具體而言,通過(guò)調(diào)用“plt.axes([0.2,0.6,0.2,0.2],axisbg="k")”語(yǔ)句實(shí)現(xiàn)子繪圖區(qū)域的嵌套目標(biāo)。函數(shù) axes([0.2,0.6,0.2,0.2],axisbg="k")中的參數(shù)“[0.2,0.6,0.2,0.2]”表示主繪圖區(qū)域的坐標(biāo)軸經(jīng)過(guò)歸一化到0~1之間后的子繪圖區(qū)域的位置和大小,即[left,bottom,width,height];參數(shù) axisbg 用來(lái)設(shè)置子繪圖區(qū)域的背景顏色,默認(rèn)顏色是白色。根據(jù)“[0.2,0.6,0.2,0.2]”繪制子繪圖區(qū)域上的直方圖“plt.hist(y,bins,color="cornflowerblue")”。
(3)在子繪圖區(qū)域的基礎(chǔ)上,調(diào)用“plt.axes([0.21,0.72,0.05,0.05])”語(yǔ)句,繼續(xù)繪制子繪圖區(qū)域,實(shí)現(xiàn)子繪圖區(qū)域的嵌套目標(biāo)。
(4)在這個(gè)嵌套的子繪圖區(qū)域上,調(diào)用“plt.plot(bins,y1,ls="-",color="r")”語(yǔ)句,繪制概率密度曲線。同時(shí),調(diào)用“plt.xticks([])”和“plt.yticks([])”語(yǔ)句,將坐標(biāo)軸的刻度線去掉。
同理,分別調(diào)用“plt.axes([0.65,0.6,0.2,0.2],axisbg="k")”和“plt.axes([0.66,0.72,0.05,0.05])”語(yǔ)句,繪制另外兩個(gè)子繪圖區(qū)域,完成子繪圖區(qū)域的連續(xù)嵌套的任務(wù)。
(5)在這兩個(gè)子繪圖區(qū)域上,使用“plt.hist(y,bins,color="cornflowerblue",normed=True,cumulative=True,histtype="step")”語(yǔ)句繪制累積階梯形直方圖,使用“plt.plot(bins,y2,ls="-",color="r")”語(yǔ)句繪制分布函數(shù)曲線。
因此,“代碼實(shí)現(xiàn)”部分的整體思路是:先在主繪圖區(qū)域上嵌套子繪圖區(qū)域,再在子繪圖區(qū)域上嵌套更小的子繪圖區(qū)域,從而分別在各自的繪圖區(qū)域上繪制統(tǒng)計(jì)圖形,完成統(tǒng)計(jì)圖形的組合展示的工作。
4.內(nèi)容補(bǔ)充
對(duì)于使用matplotlib 2.0.0及以上版本的讀者而言,只需要將參數(shù)axisbg換成facecolor,就可以正常地執(zhí)行腳本,獲得運(yùn)行結(jié)果。
- MySQL高可用解決方案:從主從復(fù)制到InnoDB Cluster架構(gòu)
- 數(shù)據(jù)庫(kù)基礎(chǔ)教程(SQL Server平臺(tái))
- 程序員修煉之道:從小工到專家
- 數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用:Access 2010
- 達(dá)夢(mèng)數(shù)據(jù)庫(kù)編程指南
- Libgdx Cross/platform Game Development Cookbook
- 云計(jì)算與大數(shù)據(jù)應(yīng)用
- Microsoft Power BI數(shù)據(jù)可視化與數(shù)據(jù)分析
- Remote Usability Testing
- 數(shù)字媒體交互設(shè)計(jì)(初級(jí)):Web產(chǎn)品交互設(shè)計(jì)方法與案例
- 云原生數(shù)據(jù)中臺(tái):架構(gòu)、方法論與實(shí)踐
- Python數(shù)據(jù)分析與數(shù)據(jù)化運(yùn)營(yíng)
- 視覺(jué)大數(shù)據(jù)智能分析算法實(shí)戰(zhàn)
- Unreal Engine Virtual Reality Quick Start Guide
- MySQL性能調(diào)優(yōu)與架構(gòu)設(shè)計(jì)