Matplotlib:入門一

Matplotlib:入門一

來自專欄 DataCode

Matplotlib是python中優秀的數據可視化第三方庫。可以使用在python腳本,IPython,jupyter notebook,以及網頁應用服務中。matplotlib可以通過少量的代碼生成柱狀圖,散點圖,餅圖,誤差圖等常用圖形。對於簡單作圖,使用pyplot模塊可以類似於matlab語法規則一樣作圖,當然也提供專業作圖方法,來精確控制線條,文字坐標等。

作圖效果示例:

matplotlib庫使用

matplotlib內部結構複雜,但是pyplot可以快捷繪製各種可視化圖形。

在使用前,記得導入模塊:

import matplotlib.pyplot as plt

先繪製一個簡單圖形。

import matplotlib.pyplot as pltplt.plot([3,1,4,5,2])plt.ylabel("Grade")plt.show()

只有一列數據時,會被作為Y軸,X自動以索引生成,從0開始。


保存圖片,可以通過plt.savefig()命令完成。默認為png圖片格式,並可以通過dpi參數控制輸出圖片質量。dpi為像素值,600完全夠用。完整代碼如下:

import matplotlib.pyplot as pltplt.plot([3,1,4,5,2])plt.ylabel("Grade")plt.savefig(test.png,dpi=600)plt.show()


有X,Y示例:

import matplotlib.pyplot as pltplt.plot([0,2,4,6,8],[3,1,4,5,2])plt.ylabel("Grade")plt.axis([-1,10,0,6])plt.show()

plt.axis控制X,Y顯示範圍。

subplot繪圖區域控制

當需要創建多幅圖像時,需要用到subplot函數。在全局圖中創建分布體系,制定繪圖區域,然後在這個區域創建子圖,創建子圖方法和上述介紹類似。

subplot函數的調用格式為:

plt.subplot(nrows,ncols,plot_number)

nrows,和ncols分別表示繪圖區域有幾行幾列,plot_number表示在下面在繪圖區域第幾個位置創建。繪圖區域按照從上到下,從左到右順序計數。示意如下:

下面是繪製一個2行1列圖片的示意:

import matplotlib.pyplot as pltimport numpy as npdef f(t): return np.exp(-t)*np.cos(2*np.pi*t)a = np.arange(0.0,5.0,0.02)plt.subplot(2,1,1)plt.plot(a,f(a))plt.subplot(212)plt.plot(a,np.cos(2*np.pi*a),r--)plt.show()

其中,subplot(212)和subplot(2,1,2)效果一樣。

預告

下一節詳細講解plt.plot()函數,實現多組數據繪製,線條顏色,分格,及標記的控制。

參考:北京理工大學 嵩天 《python數據分析與展示》

個人公眾號:DataCode 首發,歡迎關注.


推薦閱讀:

Matplotlib 如何畫散點圖的圖例?
(10)Python初入坑之pandas案例分析二
matplotlib:面向對象繪圖
matplotlib圖例中文亂碼?
Matplotlib中簡單的幾何形狀

TAG:Matplotlib | IPython | Python |