學習目标:
半個月掌握 Matplotlib入門知識
學習目錄:
1、認識matplotlib
2、 一個最簡單的繪圖例子
3、 Figure的組成¶
4、 兩種繪圖接口
5、 作業1:你在工作或學習中通常何時會用到資料可視化,希望通過可視化達到什麼目的?
學習時間:
2020-12-14 9:00
筆記内容:
1、認識matplotlib
Matplotlib是一個Python
2D繪圖庫,能夠以多種硬拷貝格式和跨平台的互動式環境生成出版物品質的圖形,用來繪制各種靜态,動态,互動式的圖表。
Matplotlib是python中公認的資料可視化工具,我們所熟知的pandas和seaborn的繪圖接口其實也是基于matplotlib所作的進階封裝。
2、 一個最簡單的繪圖例子
(1)導入matplotlib
import matplotlib.pyplot as plt
import numpy as np
(2)最簡單的建立figure以及axes的方式是通過pyplot.subplots指令,建立axes以後,可以使用Axes.plot繪制最簡易的折線圖。
fig, ax = plt.subplots()# 建立一個包含一個axes的figure
ax.plot([3,5,6,9,],[2,4,3,7]) # 繪制圖像

(3)和MATLAB指令類似,你還可以通過一種更簡單的方式繪制圖像,matplotlib.pyplot方法能夠直接在目前axes上繪制圖像,如果使用者未指定axes,matplotlib會幫你自動建立一個。
3、Figure的組成
一個完整的matplotlib圖像通常會包括以下四個層級,這些層級也被稱為容器(container),一副完整的圖像實際上是各類子元素的集合。
Figure:頂層級,用來容納所有繪圖元素
Axes:matplotlib宇宙的核心,容納了大量元素用來構造一幅幅子圖,一個figure可以由一個或多個子圖組成
Axis:axes的下屬層級,用于處理所有和坐标軸,網格有關的元素
Tick:axis的下屬層級,用來處理所有和刻度有關的元素
4、 兩種繪圖接口
(1)顯式建立figure和axes,在上面調用繪圖方法,也被稱為OO模式(object-oriented style)
x = np.linspace(0, 1, 100)#numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
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.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
(2)依賴pyplot自動建立figure和axes,并繪圖
x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x**2, label='quadratic')
plt.plot(x, x**3, label='cubic')
plt.xlabel('x label')#不同與第一種的set_xlabel
plt.ylabel('y label')#不同與第一種的set_ylabel
plt.title("Simple Plot")#不同與第一種的set_title
plt.legend()
5、 作業1:你在工作或學習中通常何時會用到資料可視化,希望通過可視化達到什麼目的?
場景1: 資料挖掘的EDA階段用于熟悉資料集,了解資料集探索變量之間互相的關系以及變量與預測值之間的數值的關系。
場景2: 資料分析報告等,提供給資料分析報告讀者對資料更直覺的感受。
希望通過學習資料可視化練習,加深自己對資料分析以及python matplotlib的了解,在未來能夠熟練的應用到求職面試以及實際工作之中。