隨著資料的不斷成長和變化,時序資料分析變得越來越重要。而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中文網其他相關文章!