首頁  >  文章  >  後端開發  >  從初級到高級,圖解Matplotlib繪圖的方法

從初級到高級,圖解Matplotlib繪圖的方法

PHPz
PHPz原創
2024-01-13 10:13:19968瀏覽

從初級到高級,圖解Matplotlib繪圖的方法

圖解Matplotlib繪圖方法:從基礎到高級,需要具體程式碼範例

引言:
Matplotlib是一個功能強大的繪圖函式庫,常用於資料視覺化。無論是簡單的折線圖,或是複雜的散佈圖和3D圖,Matplotlib都能滿足你的需求。本文將詳細介紹Matplotlib的繪圖方法,從基礎到高級,同時提供具體的程式碼範例。

一、Matplotlib的安裝與導入

  1. 安裝Matplotlib
    在終端機中使用pip install matplotlib指令即可安裝Matplotlib。
  2. 導入Matplotlib
    使用import matplotlib.pyplot as plt導入Matplotlib,約定常用的別名plt,以方便後續的呼叫。

二、繪製簡單的折線圖
下面是一個簡單的折線圖範例,展示了某公司過去12個月的銷售變化。

import matplotlib.pyplot as plt

# 数据
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
sales = [100, 120, 150, 130, 140, 160, 180, 170, 190, 200, 210, 220]

# 创建图表和画布
plt.figure(figsize=(8, 6))

# 绘制折线图
plt.plot(months, sales, marker='o', linestyle='-', color='blue')

# 设置标题和标签
plt.title('Sales Trend')
plt.xlabel('Months')
plt.ylabel('Sales')

# 显示图表
plt.show()

三、自訂圖表風格
Matplotlib提供了豐富的圖表風格設置,可以讓你的圖表更具個性和美觀。

  1. 調整顏色和線型

    plt.plot(months, sales, marker='o', linestyle='-', color='blue')

    可以透過marker參數設定標記樣式,linestyle參數設定線型,color參數設定顏色。

  2. 設定圖例

    plt.plot(months, sales, marker='o', linestyle='-', color='blue', label='Sales')
    plt.legend()

    使用label參數設定圖例標籤,然後使用plt.legend()方法顯示圖例。

  3. 新增網格線

    plt.grid(True)

    使用plt.grid(True)方法可以新增網格線。

四、繪製散佈圖和長條圖
除了折線圖,Matplotlib也支援繪製散佈圖和長條圖。

  1. 繪製散佈圖
    下面是一個簡單的散點圖範例,展示了某城市的氣溫和降雨量之間的關係。
import matplotlib.pyplot as plt

# 数据
temperature = [15, 19, 22, 18, 25, 28, 30, 29, 24, 20]
rainfall = [20, 40, 30, 10, 55, 60, 70, 50, 45, 35]

# 创建图表和画布
plt.figure(figsize=(8, 6))

# 绘制散点图
plt.scatter(temperature, rainfall, color='red')

# 设置标题和标签
plt.title('Temperature vs Rainfall')
plt.xlabel('Temperature (°C)')
plt.ylabel('Rainfall (mm)')

# 显示图表
plt.show()
  1. 繪製長條圖
    下面是一個簡單的長條圖範例,展示了某商品在不同地區的銷售情況。
import matplotlib.pyplot as plt

# 数据
regions = ['North', 'South', 'East', 'West']
sales = [100, 120, 150, 130]

# 创建图表和画布
plt.figure(figsize=(8, 6))

# 绘制条形图
plt.bar(regions, sales, color='blue')

# 设置标题和标签
plt.title('Sales by Region')
plt.xlabel('Region')
plt.ylabel('Sales')

# 显示图表
plt.show()

五、繪製進階圖表
Matplotlib還可以繪製更複雜的圖表,如圓餅圖和3D圖。

  1. 繪製圓餅圖
    下面是一個簡單的圓餅圖範例,展示了某市場中不同產品的銷售佔比。
import matplotlib.pyplot as plt

# 数据
products = ['A', 'B', 'C', 'D']
sales = [30, 20, 25, 15]

# 创建图表和画布
plt.figure(figsize=(8, 6))

# 绘制饼图
plt.pie(sales, labels=products, autopct='%.1f%%')

# 设置标题
plt.title('Sales by Product')

# 显示图表
plt.show()
  1. 繪製3D圖
    下面是一個簡單的3D圖範例,展示了某函數的三維曲面圖。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 创建图表和画布
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')

# 绘制3D图
ax.plot_surface(X, Y, Z, cmap='viridis')

# 设置标题和标签
ax.set_title('3D Surface Plot')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# 显示图表
plt.show()

結論:
透過本文的介紹和範例,我們可以了解到Matplotlib的繪圖方法和使用技巧。無論是簡單的折線圖,還是複雜的散佈圖和3D圖,Matplotlib提供了豐富的功能和選項,可以滿足不同需求的資料視覺化。希望本文對初學者和熟練者都能有所幫助,能夠更好地使用Matplotlib進行資料分析和展示。

以上是從初級到高級,圖解Matplotlib繪圖的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn