1. 程式人生 > >機器學習之numpy和matplotlib學習(二)

機器學習之numpy和matplotlib學習(二)

第二天更新
今天我們來學習怎麼使用matplotlib和numpy來做一個簡單的影象。
先從程式碼入手,程式碼介紹如下:

我們要做一個y=x*x的影象,也就是初中經常學的一元二次函式的影象。
x是一個等差數列,從【-5,5】共50個數。
y=x*x。
下面來簡單介紹使用matplotlib繪畫的基本步驟。

  1. 引入matplotlib.pyplot,具體程式碼import matplotlib.pyplot as plt

  2. 因為目前我們初步學習一般是繪畫二維影象,也就是一定要有x,y。給x,y初始化,我們這裡的x是一個等差數列,之前介紹過了。

  3. 呼叫plt.plot(x,y)。【plot翻譯過來是繪製,也就是開始繪製x,y】

  4. 顯示影象,呼叫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畫一個簡單的影象了嗎?

更新完畢