Python的畫圖工具箱即Matplotlib,類似于Matlab里面畫圖功能的包。
在Python 里有一個集成了Matplotlib和其他一些數學包比如Numpy的包,叫Pylab,所以一般只需要:from pylab import *
在這個包里面已經默認了numpy的alias為np,所以如果需要調用numpy直接就用它的alias就行。
#返回一個從x1到x2的共有num個數的數組(x1,x2,num都代表參數,下同)
X=np.linspace(x1, x2, num, endpoint=True)
這里如果endpoint設為True則重點為x2,設為False則終點為x2前一點。默認為True。
#創建一個m*n個點的圖,圖的分辨率為t
figure(figsize=(m, n), dpi=t)
#創建一個p*q的子圖,接下來的圖繪在第r塊子圖上
subplot(p, q, r)
#畫出以X數組為x軸數值,Y數組為y軸數值的圖,線條顏色為紅色,線條寬度為2.0(像素)且連續
plot(X, Y, color="red", linewidth=2.0, linestyle="-")
#設置橫縱軸的上下限
xlim(x1, x2)
ylim(y1, y2)
這里為了更好地設置上下限,可以用線條的X數組和Y數組的上下限來設置,如:
x1, x2 = X.min()1.1, X.max()1.1
y1, y2 = Y.min()1.1, Y.max()1.1
或者可以引入差分的思想:
xmin, xmax = X.min(), X.max()
ymin, ymax = Y.min(), Y.max()
dx = (xmax - xmin) * 0.2
dy = (ymax - ymin) * 0.2
x1, x2 = xmin-dx, xmax+dx
y1, y2 = ymin-dy, ymax+dy
#設置橫縱軸的長度及劃分(即在這些點標記)
xticks(np.linspace(x1, x2, num, endpoint=True))
yticks(np.linspace(y1, y2, num, endpoint=True))
這里的xticks或yticks里面的數組值可以設置成我們想要知道的特殊值。
在邊界值包含了pi這種字符時,可以用LaTex來做劃分的標簽(使其更美觀):
xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
[r'$-pi$', r'$-pi/2$', r'$0$', r'$+pi/2$', r'$+pi$'])
yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$1$'])
本文主要參考Matplotlib tutorial.將里面的范例總結成了函數(參數)形式。
評論
查看更多