機器學習之numpy和matplotlib學習(四)
之前我們學習的都是怎麼在一個程式裡面繪製多張影像,每張影像只有一個座標軸。
可不可以在一張影像裡面有多個座標軸,每個座標軸裡面可以繪畫不同的曲線。
當然可以,今天我們來學習plt.subplot( )函式的使用。參看官方文件http://matplotlib.org/users/pyplot_tutorial.html。
先來說一下這個函式plt.subplot( )它與plt.plot( )相差了一個sub。sub的英文意思是子分塊。
先來講一下程式碼:
#plt.plot()函式裡面有兩個陣列,第一個陣列是x的取值,第二個陣列是y的取值。
#後面的‘ro’代表繪製出來的是圓點而不是一條直線。
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
#plt.axis()函式是繪製時候x和y的取值範圍,這裡x是【0到6】,y是【0到20】
plt.axis([0, 6, 0, 20])
對上面講解的完整演示程式碼如下:
import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
結果如下:

這裡補充兩點
1.我們知道plt.axis()函式是繪製時候x和y的取值範圍,這裡x是【0到6】,y是【0到20】
也可以分別設定x和y的繪製時候的取值範圍:
#對x設定繪製時候的取值範圍。
plt.xlim(0,6)
#對x設定繪製時候的取值範圍。
plt.ylim(0,20)
#等價於plt.axis([0, 6, 0, 20])
2 .我們之前的plt.plot([1,2,3,4], [1,4,9,16], 'ro')中傳入了兩組資料,如果只傳入一組資料的話,預設為y的資料。
實踐如下:
import matplotlib.pyplot as plt
plt.plot([1,4,9,16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()
結果如下:

可以看到是有差別的。
下面學習一下:subplot(numRows, numCols, plotNum)。
圖表的整個繪圖區域被分成numRows行和numCols列。
plotNum引數指定建立的影像物件所在的區域。
如:(2,2,1)相當於把一個figure分成一個2x2的網格佈局。plotNum等於1,也就是繪製的影像是網格佈局的第一塊區域。
程式碼演示:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : figure3.py
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,50)
y1=2*x+1
y2=x*x
y3=x*x+2*x
y4=x+1
plt.figure()
# 第一個子圖
plt.subplot(2,2,1)
plt.plot(x,y1)
plt.title("first subplot")
# 第二個子圖
plt.subplot(2,2,2)
plt.plot(x,y2)
plt.title("second subplot")
# 第三個子圖
plt.subplot(2,2,3)
plt.plot(x,y3)
plt.title("third subplot")
# 第四個子圖
plt.subplot(2,2,4)
plt.plot(x,y4)
plt.title("Fourth subplot")
plt.show()
結果:

學習完畢
這裡補充一點。例如,plt.subplot(2,2,4)沒有逗號分隔也可以的。
可以變成plt.subplot(2,2,4)
你試一下??
一樣可以,但是如果數字大於10的話就必須使用逗號分隔。
一般我們用的最多的分隔是2*2網格,分割多了影像太小不好觀察,到後面機器學習如果用到的話一般都是2x2分割佈局。
更新完畢
相關文章
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 機器學習之Numpy與張量機器學習
- python綜合學習四之Numpy和Pandas(下)Python
- 機器學習之學習速率機器學習
- 機器學習之學習曲線機器學習
- (一) 機器學習和機器學習介紹機器學習
- Python學習之Pandas和Numpy的區別!Python
- 大資料分析/機器學習基礎之matplotlib繪圖篇大資料機器學習繪圖
- 機器學習之pca機器學習PCA
- 機器學習之皮毛機器學習
- InnoDB學習(四)之RedoLog和UndoLog
- 機器學習和深度學習資源蒐集機器學習深度學習
- 機器學習和深度學習的區別機器學習深度學習
- 機器學習和深度學習概念入門機器學習深度學習
- 前端如何學習機器學習之TensorFlow.js前端機器學習JS
- (五)numpy知識學習2-python資料分析與機器學習實戰(學習筆記)Python機器學習筆記
- 【機器學習】機器學習簡介機器學習
- matplotlib 強化學習強化學習
- 機器學習-整合學習機器學習
- 如何學習機器學習機器學習
- 機器學習之特徵工程機器學習特徵工程
- 機器學習之梯度下降機器學習梯度
- 機器學習之迭代方法機器學習
- 機器學習之泛化機器學習
- [python學習]機器學習 -- 感知機Python機器學習
- Numpy學習(2)numpy向量化、numpy操作
- 前置機器學習(五):30分鐘掌握常用Matplotlib用法機器學習
- 學習Tomcat(四)之Engine和Host容器Tomcat
- 深度學習與機器學習之間區別 - javaworld深度學習機器學習Java
- 隨機森林和機器學習隨機森林機器學習
- Numpy學習筆記筆記
- python_numPy學習Python
- 【Python機器學習實戰】決策樹與整合學習(四)——整合學習(2)GBDTPython機器學習
- 機器學習&深度學習之路機器學習深度學習
- 機器學習學習筆記機器學習筆記
- 機器學習-整合學習LightGBM機器學習
- 機器學習:監督學習機器學習
- 【機器學習基礎】無監督學習(2)——降維之LLE和TSNE機器學習
- 機器學習分享——KNN演算法及numpy實現機器學習KNN演算法