iT邦幫忙

2021 iThome 鐵人賽

DAY 29
1

前言

Matplotlib 是一個把數據可視化的套件,他可以和 NumPy 一起連用,與 Matlab 類似,但它還可以結合 Python 的其他套件,是一個非常實用的工具!

Matplotlib

首先要先 import 必要的套件,需要先安裝!

第一個程式!

這邊設定一個把 -1 到 1 切分成 50 等分的矩陣,並設定 y 的函數,他會根據定義的函數把圖形畫出來。

一定要打出 plt.show() 才會把畫出來的圖形顯示出來。

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-1, 1, 50)     # 建立一個把 -1 到 1 切分成 50 等分的矩陣
y = 2 * x + 3    # 設定 y 軸的值
plt.title("Matplotlib first test")    # 圖形的標題
plt.xlabel("x axis name")    # X 軸的名稱 
plt.ylabel("y axis name")    # Y 軸的名稱
plt.plot(x, y)    # 畫出 x 和 y 的關係
plt.show()    # 顯示圖片

  • 一次顯示兩張以上的圖片:plt.figure()

    上面的程式只會顯示一張圖片,如果想要一次顯示兩張以上的圖片可以使用這個函式。

    一個 plt.figure() 代表一張圖,他下面的指令就會都在同一張圖片上,所以若要顯示兩張圖片,就把兩張圖的座標分別在兩個 plt.figure() 下打出來,最後再輸入 plt.show() 就可以一次顯示兩張或以上的圖片了。

    import numpy as np
    from matplotlib import pyplot as plt
    
    x = np.linspace(-1, 1, 50)    # 建立一個把 -1 到 1 切分成 50 等分的矩陣
    y1 = 2 * x + 3    # 設定 y1 軸的值
    y2 = x ** 2    # 設定 y2 軸的值
    
    plt.figure()    # 若沒指定為圖片幾,預設為 1, 2, 3 依序往後
    plt.title("Matplotlib first test")    # 圖形的標題
    plt.xlabel("x axis name")    # X 軸的名稱
    plt.ylabel("y axis name")    # Y 軸的名稱
    plt.plot(x, y1)    # 畫出 x 和 y 的關係
    
    
    plt.figure(num = 3, figsize = (8, 5))    # 設定為圖 3,並且大小為 8 x 5
    plt.title("Matplotlib first test")    # 圖形的標題
    plt.xlabel("x axis name")    # X 軸的名稱
    plt.ylabel("y axis name")    # Y 軸的名稱
    # plt.plot(x, y1, color = 'blue', linewidth = 5.0, linestyle = '--')
    plt.plot(x, y2)    # 畫出 x 和 y 的關係
    plt.show()    # 顯示圖片
    

  • 在一張圖顯示兩條以上的曲線

多打一行 plt.plot() 就可以顯示兩條以上的曲線了,還可以更改顏色、粗細、線段的類型等參數

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-1, 1, 50)    # 建立一個把 -1 到 1 切分成 50 等分的矩陣
y1 = 2 * x + 3    # 設定 y1 軸的值
y2 = x ** 2    # 設定 y2 軸的值

plt.figure()
plt.title("Matplotlib first test")    # 圖形的標題
plt.xlabel("x axis name")    # X 軸的名稱
plt.ylabel("y axis name")    # Y 軸的名稱
plt.plot(x, y1, color = 'red', linewidth = 5.0, linestyle = '--')
# 設定為紅色的線,寬度 5.0,虛線
plt.plot(x, y2)    # 畫出 x 和 y 的關係
plt.show()    # 顯示圖片

待續...


上一篇
【Day 28】NumPy (5):sum(), power(), transpose()
下一篇
【Day 30】總結
系列文
宇宙 69 大魔王的 python 世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言