人工智能之數據分析 Matplotlib

第二章 Pyplot


(文章目錄)


前言

pyplotMatplotlib 庫中最常用、最便捷的模塊,提供了類似 MATLAB 的命令式繪圖接口,非常適合快速繪製各種圖表。它通過一系列函數自動管理圖形(Figure)、座標軸(Axes)等底層對象,讓初學者也能輕鬆上手。


一、導入方式

通常使用以下方式導入:

import matplotlib.pyplot as plt

這是官方推薦的標準寫法。


二、基本用法示例

1. 繪製簡單折線圖

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y = [1, 4, 2, 3]

plt.plot(x, y)           # 繪製折線圖
plt.title("Simple Line Plot")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.show()

2. 多條曲線 & 圖例

plt.plot([1, 2, 3], [1, 4, 9], label='x²')
plt.plot([1, 2, 3], [1, 2, 3], label='x')
plt.legend()  # 顯示圖例
plt.show()

3. 散點圖(scatter)

plt.scatter([1, 2, 3, 4], [10, 20, 25, 30], color='red')
plt.title("Scatter Plot")
plt.show()

4. 柱狀圖(bar)

categories = ['A', 'B', 'C']
values = [3, 7, 5]
plt.bar(categories, values)
plt.title("Bar Chart")
plt.show()


三、常用 pyplot 函數

函數 作用
plt.plot() 繪製折線圖或點線圖
plt.scatter() 繪製散點圖
plt.bar()/plt.barh() 垂直/水平柱狀圖
plt.hist() 直方圖
plt.pie() 餅圖
plt.title() 設置圖表標題
plt.xlabel()/plt.ylabel() 設置座標軸標籤
plt.xlim()/plt.ylim() 設置座標軸範圍
plt.legend() 顯示圖例
plt.grid() 顯示網格
plt.savefig('file.png') 保存圖像到文件
plt.show() 顯示圖形(在腳本中必需,在 Jupyter 中可省略)

四、在 Jupyter Notebook 中使用

在 Jupyter 中,建議加上魔術命令以實現​內聯顯示​:

%matplotlib inline
import matplotlib.pyplot as plt

這樣圖表會直接嵌入在 notebook 單元格下方,無需彈出新窗口。

如果想交互式操作(如縮放、平移),可使用:

%matplotlib widget   # 需安裝 ipympl: pip install ipympl

五、pyplot 與面向對象 API 的關係

雖然 pyplot 使用方便,但其背後仍是基於 Figure 和 Axes 對象 的面向對象結構。例如:

# 面向對象寫法(更靈活)
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 4, 2])
ax.set_title("OO Style")
plt.show()

對於複雜圖表(如多子圖、精細控制),推薦使用面向對象方式;對於快速探索性繪圖,pyplot 足夠高效。


六、小貼士

  • 所有 plt.xxx() 函數都會作用於“當前”座標軸(current axes)。
  • 每次調用 plt.figure()plt.subplot() 會創建新的圖形或子圖。
  • 使用 plt.clf() 清空當前圖形,plt.close() 關閉圖形窗口。

後續

本文主要介紹了Matplotlib的常見庫Pyplot的基本操作。之前的python過渡項目部分代碼已經上傳至gitee,後續會逐步更新。

資料關注

公眾號:咚咚王 gitee:https://gitee.com/wy18585051844/ai_learning

《Python編程:從入門到實踐》 《利用Python進行數據分析》 《算法導論中文第三版》 《概率論與數理統計(第四版) (盛驟) 》 《程序員的數學》 《線性代數應該這樣學第3版》 《微積分和數學分析引論》 《(西瓜書)周志華-機器學習》 《TensorFlow機器學習實戰指南》 《Sklearn與TensorFlow機器學習實用指南》 《模式識別(第四版)》 《深度學習 deep learning》伊恩·古德費洛著 花書 《Python深度學習第二版(中文版)【純文本】 (登封大數據 (Francois Choliet)) (Z-Library)》 《深入淺出神經網絡與深度學習+(邁克爾·尼爾森(Michael+Nielsen)》 《自然語言處理綜論 第2版》 《Natural-Language-Processing-with-PyTorch》 《計算機視覺-算法與應用(中文版)》 《Learning OpenCV 4》 《AIGC:智能創作時代》杜雨+&+張孜銘 《AIGC原理與實踐:零基礎學大語言模型、擴散模型和多模態模型》 《從零構建大語言模型(中文版)》 《實戰AI大模型》 《AI 3.0》