如何在一幅圖中繪製多個曲線?
下面的代碼可以實現一個圖繪製多個曲線,並且設置曲線的樣式:
import matplotlib.pyplot as plt
import numpy as np
import math
from pylab import *
pi=math.pi
x = np.arange(-5.0, 5.0, 0.02)
y1=np.sin(x)
y2=np.sin(x+pi*1/4)
y3=np.sin(x+pi*1/2)
xlim(-2.5, 2.5)#屬於pylab,用來確定x、y軸的範圍
ylim(-1, 1)
plt.plot(x,y1,'r',x,y2,'h',x,y3,'g^')#繪製曲線及設置形式
plt.show()
#自定義曲線形式: #'-'實線 '--'虛線 ‘-.'點線 ':'點虛線 '.'點 ,'像素 # 'o'圓形 'v'朝下的三角形 '^'朝上的三角形 '<'朝左的三角形 '>'朝右的三角形 #'1'tri_down marker '2'tri_up marker '3'tri_left marker '4'tri_right marker #'s'正方形 'p'五角形 '*'星型 'h'、'H'六邊形 #'+'+號標記 'x'x號標記 'D'鑽石形 'd'小版鑽石形 '|'垂直線形 '_'水平線行 #顏色:'b''g''r''c''m''y''k''w'藍綠紅青品紅黃黑白
輸出如下:
np.arange(start, end, density)
start:起始座標;end:終止座標;density:相鄰點的間隔
改變density,我們可以清楚看到每個點的位置:
x=np.arange(-10,10,0.5)
y1=x**2
y2=2**x
plt.plot(x,y1,"h",x,y2,"*")
plt.show()
輸出如下:
在這裏可以利用簡單的循環對於函數列的收斂性進行直觀的探索:
x=np.arange(0., 5., 0.02)
for n in range(1,20):#反覆繪製20條曲線
y4=x**n
xlim(0, 1)
ylim(0, 1)
plt.plot(x,y4,'r')
plt.show()#本語句放在循環外面,否則畫出來的將是20個單條曲線的圖
輸出如下:
看起來效果很不錯呢!