iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0
Software Development

30天的python學習 系列 第 28

python30天-DAY28-Matplotlib(子圖)

  • 分享至 

  • xImage
  •  

今天來介紹一下 子圖 ,通常像前兩天我們每一次都只會看到一張圖,但有時候我們會同時需要看到許多張圖,這時候 子圖 就派上用場了。
子圖 就像是你創建了一張空的模板,然後你就可以在模板內依照你的需求塞入多張圖。

我們先創建一個空的模板叫 ff ,接著我們用 add_subplot() 函數來安排位置,函數裡的第一、二個數是用來設定要把模板分成幾格的,拿 a1 來說它就是把模板分成一個2乘2共四塊的位置,而a1就是第一塊的位置,接著在第9行我們就設計了一個圖案並放入a1的位置。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ff = plt.figure() #創建模板
a1 = ff.add_subplot(2,2,1) #設定位置
a2 = ff.add_subplot(2,2,2)
a3 = ff.add_subplot(2,2,3)
a4 = ff.add_subplot(2,2,4)
a1.plot(np.arange(20),np.random.randint(1,10,20))
a2.plot(np.arange(20),np.random.randint(1,10,20))
a3.plot(np.arange(20),np.random.randint(1,10,20))
a4.plot(np.arange(20),np.random.randint(1,10,20))

https://ithelp.ithome.com.tw/upload/images/20200925/2012960152J5dS5rJk.png

也可以自己定義模板大小。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ff = plt.figure(figsize=(6,3))
a1 = ff.add_subplot(4,6,1)
a2 = ff.add_subplot(6,2,2)
a3 = ff.add_subplot(2,2,3)
a4 = ff.add_subplot(2,4,8)
a1.plot(np.arange(20),np.random.randint(1,10,20))
a2.plot(np.arange(20),np.random.randint(1,10,20))
a3.plot(np.arange(20),np.random.randint(1,10,20))
a4.plot(np.arange(20),np.random.randint(1,10,20))

https://ithelp.ithome.com.tw/upload/images/20200925/20129601FocLQzp2LW.png


上一篇
python30天-DAY27-Matplotlib(3)
下一篇
python30天-DAY29-Matplotlib(4)
系列文
30天的python學習 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言