您好,登錄后才能下訂單哦!
可視化是在整個(gè)數(shù)據(jù)挖掘的關(guān)鍵輔助工具,可以清晰的理解數(shù)據(jù),從而調(diào)整我們的分析方法。
1. Matplotlib 基本概念
Matplotlib是python的一個(gè)數(shù)據(jù)可視化工具庫,專門用于開發(fā)2D圖表(包括3D圖表), 操作簡單。
2. Matplotlib三層結(jié)構(gòu)
容器層
容器層由Canvas、Figure、Axes三部分組成。
Canvas位于最底層的系統(tǒng)層,充當(dāng)畫板,即放置Figure的工具。
Figure是Canvas上方的第一層,也是需要用戶來操作的應(yīng)用層的第一層,在繪圖的過程中充當(dāng)畫布的角色。
Axes是應(yīng)用層的第二層,在繪圖的過程中相當(dāng)于畫布上的繪圖區(qū)的角色。
Figure:指整個(gè)圖形(可以通過plt.figure()設(shè)置畫布的大小和分辨率等)
Axes(坐標(biāo)系):數(shù)據(jù)的繪圖區(qū)域
Axis(坐標(biāo)軸):坐標(biāo)系中的一條軸,包含大小限制、刻度和刻度標(biāo)簽
特點(diǎn)為:
一個(gè)figure(畫布)可以包含多個(gè)axes(坐標(biāo)系/繪圖區(qū)),但是一個(gè)axes只能屬于一個(gè)figure。
一個(gè)axes(坐標(biāo)系/繪圖區(qū))可以包含多個(gè)axis(坐標(biāo)軸),包含兩個(gè)即為2d坐標(biāo)系,3個(gè)即為3d坐標(biāo)
輔助顯示層
輔助顯示層為Axes(繪圖區(qū))內(nèi)的除了根據(jù)數(shù)據(jù)繪制出的圖像以外的內(nèi)容,主要包括Axes外觀(facecolor)、邊框線(spines)、坐標(biāo)軸(axis)、坐標(biāo)軸名稱(axis label)、坐標(biāo)軸刻度(tick)、坐標(biāo)軸刻度標(biāo)簽(tick label)、網(wǎng)格線(grid)、圖例(legend)、標(biāo)題(title)等內(nèi)容。
圖像層
圖像層指Axes內(nèi)通過plot、scatter、bar、histogram、pie等函數(shù)根據(jù)數(shù)據(jù)繪制出的圖像
總結(jié)
Canvas(畫板)位于最底層,用戶一般接觸不到;
Figure(畫布)建立在Canvas之上;
Axes(繪圖區(qū))建立在Figure之上;
坐標(biāo)軸(axis)、圖例(legend)等輔助顯示層以及圖像層都是建立在Axes之上。
3.plt的基本用法
3.1 Figure對象
matplotlib的圖像都位于Figure對象中,我們可以調(diào)用plt.figure()來創(chuàng)建Figure對象。
fig = plt.figure()
figure有一個(gè)比較重要的參數(shù)figsize,它衡量圖片的大小和縱橫比(單位為inch):
fig = plt.figure(figsize=(4,5))
比如,以上代碼代表建立一個(gè)寬度為4inch,高度為5inch的figure對象。
3.2 plot的使用
有了figure對象之后,就可以利用plot函數(shù)作圖了。注意不可以使用figure對象來調(diào)用plot,按照慣例我們使用plt.plot()來作圖,而圖像自動(dòng)分配到上一個(gè)建立的figure中。
3.3 如何在同一個(gè)figure內(nèi)部設(shè)置多個(gè)圖片
figure對象調(diào)用add_subplot函數(shù)來添加figure內(nèi)部不同位置的圖片,add_subplot函數(shù)的3個(gè)參數(shù)分別為figure內(nèi)部縱向和橫向的字圖片個(gè)數(shù),以及當(dāng)前創(chuàng)建的子圖片是第幾個(gè),例如:無錫看婦科的醫(yī)院 http://www.ytsgfk120.com/
fig = plt.figure()
# add_subplot返回的是一個(gè)subplot對象
sp1 = fig.add_subplot(2,3,1)
sp2 = fig.add_subplot(2,3,2)
sp3 = fig.add_subplot(2,3,3)
sp4 = fig.add_subplot(2,3,4)
fig
如果要在subplot內(nèi)部作圖,我們只需要用對應(yīng)的subplot對象調(diào)用plot即可:
sp1.plot(np.random.randn(50), 'k--', color='r')
fig
3.4 如何調(diào)整subplot的間距
有時(shí)候各subplot的間距會(huì)過大或者過小,這時(shí)候與我們需要使用subplots_adjust函數(shù)來調(diào)整間距:
fig.tight_layout() # 調(diào)整整體空白
plt.subplots_adjust(wspace =0, hspace =0) # 調(diào)整子圖間距
plt.subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=None,hspace=None)
參數(shù)詳解:
left = 0.125 # the left side of the subplots of the figure
right = 0.9 # the right side of the subplots of the figure
bottom = 0.1 # the bottom of the subplots of the figure
top = 0.9 # the top of the subplots of the figure
wspace = 0.2 # the amount of width reserved for blank space between subplots,
# expressed as a fraction of the average axis width
hspace = 0.2 # the amount of height reserved for white space between subplots,
# expressed as a fraction of the average axis height
# 調(diào)整fig內(nèi)部的subplot長寬間距都為0.5
fig.subplots_adjust(wspace = 0.5, hspace = 0.5)
fig
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。