首頁 >後端開發 >Python教學 >Python中的時序資料視覺化技巧

Python中的時序資料視覺化技巧

王林
王林原創
2023-06-10 22:45:063256瀏覽

隨著資料的不斷成長和變化,時序資料分析變得越來越重要。而Python作為一種開源、靈活、易於上手的程式語言,也被廣泛應用於時序資料分析領域。在本篇文章中,我們將探討Python中的時序資料視覺化技巧,幫助您更能理解和分析時序資料。

一、Matplotlib庫簡介

Matplotlib是Python中一個廣泛應用的視覺化函式庫,支援各種類型的圖表,如線圖、長條圖、圓餅圖、散佈圖等。它的使用簡單易懂,標準的Python安裝包即可包含。以下我們將介紹如何使用Matplotlib繪製時序資料圖。

二、折線圖

折線圖是最常見的一種用來呈現時序資料圖表的方式。透過折線圖,可以清楚地展示數據的趨勢和變化,並較直觀地表示出不同時間的數據之間的差異。下面我們先建立一組測試資料:

import numpy as np

# 生成随机正弦函数
x = np.linspace(0, 10, 1000)
y = np.sin(x) + np.random.randn(len(x)) * 0.1

# 绘制折线图
import matplotlib.pyplot as plt

plt.plot(x, y)
plt.show()

如上圖所示,我們透過linspace函數產生了一個包含1000個數的等差數列x,並對其進行正弦函數的計算,再加上一個隨機雜訊項,這樣就得到了一個樣本資料y。接著我們呼叫Matplotlib中的plot函數,將x和y傳入,並呼叫show函數展示折線圖。

三、區域圖

區域圖可用來呈現時序資料的變化趨勢,顯示某個指標與整體總量之間的關係。在Matplotlib中,使用fill_between函數即可輕鬆實現區域圖的製作。下面我們建立另一組測試資料並繪製區域圖:

# 生成随机的正态分布函数
x = np.linspace(0, 10, 1000)
y = np.random.randn(len(x)).cumsum()

# 绘制区域图
plt.fill_between(x, y, color='skyblue', alpha=0.2)
plt.plot(x, y, color='skyblue', alpha=0.6)
plt.show()

在這個例子中,我們先使用cumsum函數對隨機的常態分佈函數進行了積分,得到了累加和,然後使用fill_between函數繪製出了一個藍色的區域圖,並調整了其透明度。使用plot函數繪製出累計和的折線圖,並指定線型的顏色和透明度。

四、熱度圖

熱度圖可用來呈現某一時間範圍內的資料變化情況,透過顏色的變化來表示資料的變化趨勢。在Matplotlib中,只需要呼叫imshow函數就可以製作出熱度圖。下面我們透過book_data資料集來繪製一個熱度圖:

from matplotlib import cm

# 导入book_data数据集
from vega_datasets import data
book_data = data.books()

# 绘制热度图
fig, ax = plt.subplots(figsize=(12, 6))
im = ax.imshow(book_data.pivot(index='year', columns='category', values='books'),
               cmap=cm.Reds, interpolation='nearest')

# 设置图表元素
ax.set_xticks(np.arange(len(book_data['category'].unique())))
ax.set_yticks(np.arange(len(book_data['year'].unique())))
ax.set_xticklabels(book_data['category'].unique())
ax.set_yticklabels(book_data['year'].unique())
ax.set_title('书籍类别和年份图书数量热度图')

# 添加坐标轴的标签
ax.set_xlabel('书籍类别')
ax.set_ylabel('年份')

# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
cbar.ax.set_ylabel('图书数量', rotation=-90, va="bottom")

# 调整布局
plt.tight_layout()
plt.show()

我們透過匯入book_data資料集,得到了包含了各種類別書籍在各年份的數量的資料表。然後我們使用imshow函數將資料表中的數值對​​應到紅色調色盤上,並且加入了一些圖表的元素,例如座標軸標籤、標題、色條等。透過調整佈局,可以使圖表更美觀易懂。

五、小結

本文介紹了Matplotlib庫的主要作用和幾種常見的時序資料視覺化技巧:折線圖、區域圖、熱度圖。這些技巧可以幫助我們更好地理解和分析時序數據,從而做出更準確、更有價值的決策。同時,在實際使用中,也可以透過調整圖表元素來使圖表更加美觀、易懂。

以上是Python中的時序資料視覺化技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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