matplotlib.pyplot快速繪圖

繪製簡單圖表

繪製一個簡單圖表,須要數組

  • 圖表窗口
  • 定義域
  • 函數對應關係

matplotlib能夠幹大部分matlab能夠作的事,但比較緩慢,因此加入了快速繪圖的pyplot模塊
因此窗口利用pyplot
定義域採用數組矩陣的方式linspace函數

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(8, 4))

x = np.linspace(0, 10, 5)
y = x + 1

plt.plot(x, y)

plt.show()

linspace

linspace(st,en,size)產生[st,en]的數字,數字個數是size,且有序的等差數列數組,對於有凹凸性的函數,須要加大size的值,由於若是是直線的話,肯定2個數後,自動補全,有凹凸性的話須要多個數才能繪製正確的圖spa

繪製y=x*x時size少的狀況

多的狀況
3d

plot

plt.plot的兩個基本屬性就是函數x的定義域和函數的對應關係
plot(x,y,type)type是實線"-"和虛線"--"
但能夠渲染不少東西code

  • color曲線長度
  • linewidth曲線寬度
  • 虛實線(第三個參數)
  • label曲線的標籤(配合pit.legend()顯示標籤)

其餘渲染

橫縱座標單位

plt.xlabel("Time(s)")
plt.ylabel("Volt")

圖標標題

plt.title("$sin(x)and cos(x)$")

支持latex數學公式,但渲染會慢一點對象

圖標網格

plt.grid(True)

多個渲染後的圖像

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 100)
y = np.sin(x)
z = x

plt.figure(figsize=(8, 4))  # 圖表大小

plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)  # plot進行繪圖,前兩個參數是分別表示X、Y 軸數據的對象
plt.plot(x, z, "b--", label="$x$")

plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("$sin(x) and x$")
plt.legend()

plt.show()

分段函數

相關文章
相關標籤/搜索