機器學習之numpy和matplotlib學習(二)
第二天更新
今天我們來學習怎麼使用matplotlib和numpy來做一個簡單的影象。
先從程式碼入手,程式碼介紹如下:
我們要做一個y=x*x的影象,也就是初中經常學的一元二次函式的影象。
x是一個等差數列,從【-5,5】共50個數。
y=x*x。
下面來簡單介紹使用matplotlib繪畫的基本步驟。
引入matplotlib.pyplot,具體程式碼
import matplotlib.pyplot as plt
因為目前我們初步學習一般是繪畫二維影象,也就是一定要有x,y。給x,y初始化,我們這裡的x是一個等差數列,之前介紹過了。
呼叫plt.plot(x,y)。【plot翻譯過來是繪製,也就是開始繪製x,y】
顯示影象,呼叫plt.show()。
這裡可能會有疑問那plt.figure()是幹嘛的?下一個程式給你解釋,不急。
plt.figure()可有可無,但是沒有的話就預設一個程式所有的繪製都是在一個影象上面進行,這樣一般不太好,所以我建議大家還是帶上比較好!!!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : figure0.py
# 以後基本都是以這種方式使用matplotlib和numpy。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5 ,5,50)
y=x*x
plt.figure()
plt.plot(x,y)
plt.show()
下面來解釋一下plt.figure()是幹嘛?
figure翻譯過來是影象的意思,大家有沒有注意到程式截圖左上方有個figure1這就是一個影象。
有時候一個程式裡面可以繪製幾個影象。
有幾個影象就有幾個幾個plt.figure()。
下面來看一個例子:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : figure0.py
# 以後基本都是以這種方式使用matplotlib和numpy。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y=x*x
# 第一幅影象繪製x*x,一個plt.figure()下的所有東西都是這個影象的,直到遇到下一個plt.figure()。
plt.figure()
plt.plot(x,y)
#以上是第一幅影象的全部內容。
# 這裡是第二幅影象繪製2*x+1
plt.figure()
y1=2*x+1
plt.plot(x,y1)
#以上是第二幅影象的全部內容。
plt.show()
執行結果:
下面對plt.figure()函式做一個講解,最常用的引數是num,和figsize。
num代表的就是影象的順序,例如上面兩個影象,由於沒有指定引數,自動從1開始。
figsize是影象的顯示大小,它的賦值類似座標(a,b)。a代表長,b代表寬。
下面做一個實驗,之前第一幅影象繪製的是x*x,我們改變他的影象順序和顯示大小。
再來比較結果。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y=x*x
# 第一幅影象繪製y=x*x
plt.figure(num=3,figsize=(10,10))
plt.plot(x,y)
# 這裡是第二幅影象繪製一元一次函式y=2*x+1
plt.figure()
y1=2*x+1
plt.plot(x,y1)
plt.show()
結果:
現在圖片從3開始,並且第一張圖片顯示大小是10*10的正方形。
plt.figure()就講解到這裡結束。
你會用matplotlib畫一個簡單的影象了嗎?