Python數據可視化利器:Matplotlib庫的用法

數據可視化已經成為了現代數據科學家和工程師的重要工作之一。Matplotlib是一個優秀的數據可視化庫,它支持眾多的繪圖類型,包括線圖,散點圖,柱狀圖,等高線圖,和複雜的3D圖形。Matplotlib庫的設計目標是兼容MATLAB語法,這使得它成為科學計算中最受歡迎的繪圖庫之一。

一、基礎繪圖

Matplotlib最基礎的繪圖是線圖。下面的代碼演示如何使用Matplotlib繪製線圖。


import numpy as np
import matplotlib.pyplot as plt

# 生成數據
x = np.linspace(0, 10, 1000)
y = np.sin(x)

# 繪圖
plt.plot(x, y, label='sin(x)')

# 顯示標籤
plt.legend()

# 顯示圖形
plt.show()

下面是代碼的說明:

首先,我們從numpy庫導入linspace函數和sin函數,用來生成X軸和Y軸的數據。然後,我們從matplotlib.pyplot庫導入pyplot模塊,用來繪製圖形。接下來,使用plot函數繪製線圖。plot函數的第一個參數是X軸數據,第二個參數是Y軸數據。label='sin(x)'表示為圖像標註注釋。如果有多個曲線需要繪畫,則使用subplot函數,其中第一個參數為nrows,第二個參數為ncols,第三個參數為plot_number,表示在其中的哪一個窗口中進行繪圖。

此外,使用legend函數可以顯示圖例。最後,使用show函數顯示圖形。運行這個程序,就會看到一幅含有一個正弦函數的線圖。

二、2D圖形和子圖

除了線圖,Matplotlib還支持各種2D圖形。在Matplotlib中,使用subplot函數可以繪製多個子圖。


x = np.linspace(-10, 10, 1000)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 在一張圖中繪製三個子圖
plt.subplot(3, 1, 1)
plt.plot(x, y1)
plt.title('sin(x)')

plt.subplot(3, 1, 2)
plt.plot(x, y2)
plt.title('cos(x)')

plt.subplot(3, 1, 3)
plt.plot(x, y3)
plt.title('tan(x)')

plt.show()

上面的代碼中,我們生成三個不同的曲線,並使用subplot函數生成了一個顯示三個子圖的繪圖窗口。subplot函數的第一個參數是行數,第二個參數是列數,第三個參數是子圖的位置。運行此代碼,可以得到如下圖像:

![subplot images](https://img-blog.csdn.net/20170214113744336?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZF9kaWdpdGFsbF9yZW1lZGlh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/90)

三、散點圖與直方圖

另一個流行的二維圖形類型是散點圖。散點圖可以用於表示兩個變量之間的相關性。Matplotlib的scatter函數可以用於繪製散點圖。


# 構造數據
x = np.random.randn(1000)
y = np.random.randn(1000)

plt.scatter(x, y, c='r', alpha=0.5)
plt.show()

上面的代碼使用了Matplotlib的scatter函數繪製散點圖。其中x和y都是由隨機值填充的向量。color參數設置點的顏色,alpha參數設置透明度。運行此代碼,可以得到如下的散點圖:

![Scatter plot](https://img-blog.csdn.net/20170214114220051?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZF9kaWdpdGFsbF9yZW1lZGlh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/90)

另外,直方圖是最適合描述一組連續性數據的圖形。Matplotlib的hist函數可以用於繪製直方圖。


# 構造數據
x = np.random.randn(1000)

# 繪圖
plt.hist(x, bins=50, color='g')

plt.show()

在上面的代碼中,我們使用hist函數繪製直方圖。其中,bins參數指定直方圖的梯形數量,顏色是可以變化的。該代碼將生成如下的直方圖。

![Histogram](https://img-blog.csdn.net/20170214114348909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZF9kaWdpdGFsbF9yZW1lZGlh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/90)

四、3D圖形

除了2D圖形,Matplotlib庫還支持各種3D圖形。我們可以使用Axes3D對象來繪製立體圖形。下面的代碼演示如何使用Matplotlib繪製3D散點圖。


from mpl_toolkits.mplot3d import Axes3D

# 生成3D數據
x = np.random.randn(100)
y = np.random.randn(100)
z = np.random.randn(100)

# 繪圖
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c='b', marker='o')

plt.show()

在上面的代碼中,我們使用Axes3D對象創建3D圖形,scatter函數用於繪製散點。marker參數指定點的形狀,顏色也可以變化。該代碼將生成如下的3D散點圖。

![3D scatter plot](https://img-blog.csdn.net/20170214114504781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZF9kaWdpdGFsbF9yZW1lZGlh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/90)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/184562.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 17:24
下一篇 2024-11-25 17:24

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論