1. 程式人生 > >【利用python進行資料分析】繪圖和視覺化

【利用python進行資料分析】繪圖和視覺化

通常的引入約定是:

import matplotlib.pyplot as plt

fig,axes=plt.subplots(2,3)

這種用法,可以一下子產生2x3個子視窗,並且以numpy陣列的方式儲存在axes中,而fig仍然是整個影象物件,這樣我們可以通過對axes進行索引來訪問每個子視窗。

wspace和hspace用於控制寬度和高度的百分比,可以用作subplot之間的間距。

使用plt.subplots_adjust(wspace=0,hspace=0)即可將寬高間距縮為0。

顏色、標記和線型:

matplotlib的plot函式接受一組X和Y座標,還可以接受一個表示顏色和線型的字串縮寫。例如要根據x和y繪製綠色虛線,可以執行如下程式碼:

ax.plot(x,y,'g--')

或者ax.plot(x,y,linestyle='--',color='g')

可以更改實際資料點的標記,通過marker=''

可以通過drawstyle選項修改插值方式,預設的非實際資料點是按線性方式插值的。

刻度、標籤和圖例:

xlim、xticks、xticklabels之類的方法用於分別控制圖表的範圍、刻度位置、刻度標籤等。

xlim會將X軸的範圍設定為0到10:通過ax.set_xlim設定,如果要檢視某個axes的xlim,就用ax.get_xlim

設定標題、軸標籤、刻度以及刻度標籤:

fig=plt.figure()

ax=fig.add_subplot(1,1,1)#建立1*1的影象且目前針對的是第一個子圖。

ticks=ax.set_xticks([0,250,500,750,1000])

labels=ax.set_xticklabels(['one','two','three','four','five'],rotation=30,fontsize='small')#設定x軸標籤,rotation表示刻度距離

然後使用set_xlabel為X軸設定名稱,並用set_title設定標題。對於Y軸的修改方式,只需要將上述程式碼中的x替換為y即可。

新增圖例:

圖例是另一種用於標識圖表元素的重要工具。新增圖例的方式:

fig=plt.figure()

ax=fig.add_subplot(1,1,1)

ax.plot(randn(1000).cumsum(),'k',label='one')

ax.legend(loc='best')#如果不吹毛求疵的話,傳入best是最好的選擇,因為它會選擇最不礙事的位置。

註解以及在subplot上繪圖:

註解可以通過text、arrow和annotate等函式進行新增。

例:ax.text(x,y,'Hello world!',family='monospace',fontsize=10)

註解中也可以新增箭頭➡️

這個圖好厲害但是這一塊我還有些疑惑沒搞清,先把圖截下來吧。

圖形的繪製要麻煩一些,matplotlib中有一些表示常見圖形的物件,被稱為塊(patch)。有些塊可以在matplotlib.pyplot中找到,但完整的集合位於matplotlib.patches。

如果要在圖表中新增圖形,需要建立塊物件shp,然後通過ax.add_patch(shp)將其新增到subplot中。

將圖表儲存到檔案:

利用plt.savefig可以將當前圖表儲存到檔案。如果要將圖表儲存為SVG檔案,只需輸入:

plt.savefig('figpath.svg')

在釋出圖片時最常用到的兩個重要選項是dpi(控制“每英寸點數”解析度)和bbox_inches(可以剪除當前圖表周圍的空白部分)。

例如,要得到一張帶有最小白邊且解析度為400DPI的PNG圖片,可以:

plt.savefig('figpath.png',dpi=400,bbox_inches='tight')

matplotlib配置

可以管理影象大小,subplot邊距、配色方案、字型大小、網格型別等。

pandas中的繪圖函式

要組裝一張圖表,需要用它的各種基礎元件才行:資料展示、圖例、標題、刻度標籤以及其他註解型資訊。

pandas中有許多能夠利用DataFrame物件資料組織特點來建立標準圖表的高階繪圖方法。

1.線型圖

s=Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))

s.plot()

該Series物件的索引會被傳給matplotlib,並用以繪製X軸。X軸的刻度和界限可以通過xticks和xlim選項進行調節。