1 關于 Matplotlib 模塊
Matplotlib 是一個由 John Hunter 等開發的,用以繪制二維圖形的 Python 模塊。它利用了 Python 下的數值計算模塊 Numeric 及 Numarray,克隆了許多 Matlab 中的函數, 用以幫助用戶輕松地獲得高質量的二維圖形。Matplotlib 可以繪制多種形式的圖形包括普通的線圖,直方圖,餅圖,散點圖以及誤差線圖等;可以比較方便的定制圖形的各種屬性比如圖線的類型,顏色,粗細,字體的大小等;它能夠很好地支持一部分 TeX 排版命令,可以比較美觀地顯示圖形中的數學公式。Matplotlib 掌握起來也很容易,由于 Matplotlib 使用的大部分函數都與 Matlab 中對應的函數同名,且各種參數的含義,使用方法也一致,這就使得熟悉 Matlab 的用戶使用起來感到得心應手。對那些不熟悉的 Matlab 的用戶而言,這些函數的意義往往也是一目了然的,因此只要花很少的時間就可以掌握。
Matplotlib 目前包含了37個不同的模塊, 如 matlab, mathtext, finance, dates
等等,其中與繪圖關系最直接的是 matlab 模塊。可以用下面的命令裝載并查看它提供的函數
>>> import matplotlib.matlab>>> dir(matplotlib.matlab)
如果要了解模塊中某個函數的使用方法,可以使用 help 命令。如下面的命令
>>> help(legend)>>> help(plot)
會返回 legend 和 plot 這兩個函數的信息。
本文擬通過一些實例來說明 matplotlib 的這些主要特點。相信通過閱讀這些例子,您能對 Matplotlib 的使用有一個基本的了解。
2 繪制一組冪函數
先從一個簡單的例子開始討論。假設要在一個圖形中顯示一組冪函數。這組冪函數的基不同,分別為10,自然對數 e 和2。可以用如下 Python 腳本去描繪這組曲線,生成的圖形如圖1所示。
from matplotlib.matlab import * x = linspace(-4, 4, 200) f1 = power(10, x) f2 = power(e, x) f3 = power(2, x) plot(x, f1, 'r', x, f2, 'b', x, f3, 'g', linewidth=2) axis([-4, 4, -0.5, 8]) text(1, 7.5, r'$10^x$', fontsize=16) text(2.2, 7.5, r'$e^x$', fontsize=16) text(3.2, 7.5, r'$2^x$', fonsize=16) title('A simple example', fontsize=16) savefig('power.png', dpi=75) show()
圖1: 一組冪函數
程序的第一行裝載了 matlab 模塊。接下來的幾行語句(至 savefig 之前)好像是在運行 Matlab 程序,因為 linspace, power, plot,axis, text, title 這些函數在 Matlab 中也存在。這個例子展示了 Matplotlib 中幾個比較常用的繪圖函數,如 plot,axis,title 等的用法。其中 plot 是一個功能十分強大的函數, 通過改變它的參數選項,可以靈活地修改圖形的各種屬性,比如選用的線型,顏色,寬度等。
新聞熱點
疑難解答