VIS-004【總第6期】Python數據可視化:繪製曲線疊加圖

如何在一幅圖中繪製多個曲線?

下面的代碼可以實現一個圖繪製多個曲線,並且設置曲線的樣式:

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個單條曲線的圖

輸出如下:

看起來效果很不錯呢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章