Matplotlib1.簡單例子

#Cipher發表於2020-12-12

Matplotlib影像是畫在figure(windows, jupyter窗體)上的,一個figure可以包含一個或多個axes(包含座標系的子區域)。最簡單建立figure和axes的方式是pyplot.subplots,建立axes後使用axes.plot繪製最簡單的折線圖。

figure的組成

一個完整的matplotlib影像包括以下四個層級(容器):
figure: 頂層級,容納所有繪圖元素
axes: matplotlib的核心,容納大量元素用來構造 子圖 ,一個figure可由一個或多個子圖構成
axis: axes的下屬層級,處理與 座標軸網格 有關的元素
tick: axis的下屬層級,處理與 刻度 有關的元素

matplotlib結構圖

兩種簡單的畫圖方式:

1和2繪出來的圖是等價的。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1.1, 100)

  1. 顯式建立figure和axes,再呼叫繪圖方法,即OO模式(物件導向)。
fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.plot(x, x**2, label='quadratic')
ax.plot(x, x**3, label='cubic')
ax.plot(x, np.sqrt(x), label='sqrt')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title('Simple Plot')
ax.legend()
plt.show()

  1. 使用pyplot自動建立figure和axes,並繪圖。
plt.plot(x, x, label='line')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.plot(x, np.sqrt(x), label='sqrt')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title('Simple Plot')
plt.legend()
plt.show()

函式圖

相關文章