在數據分析中,數據視覺化是一個非常關鍵的環節,它能夠幫助我們更直觀地理解數據趨勢與變化。在這個專題中,我們將使用 Python 的 Matplotlib 模組來進行數據視覺化,並通過繪製折線圖、長條圖、圓餅圖來展示台灣股市的股價走勢。
Matplotlib 是 Python 中最常用的數據視覺化庫之一,它提供了豐富的 API 來創建各種類型的圖表,例如折線圖、長條圖、圓餅圖等。
pip install matplotlib
折線圖是用來展示時間序列數據變化的好工具。在這裡,我們將以台灣某股票的股價走勢為例,繪製股價變化的折線圖。
import matplotlib.pyplot as plt
# 假設這是某股票的一週股價數據
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
prices = [200, 205, 198, 210, 215]
# 繪製折線圖
plt.plot(days, prices, marker='o', color='b', linestyle='-', label='Stock Price')
# 設定圖例
plt.legend()
# 設定標題與標籤
plt.title('Stock Price Movement in a Week')
plt.xlabel('Days')
plt.ylabel('Price (TWD)')
# 顯示圖表
plt.show()
marker='o'
用於在每個數據點上顯示標記。color='b'
設定線條顏色為藍色。linestyle='-'
設定為實線。label='Stock Price'
用於圖例。# 設定 Y 軸範圍
plt.ylim(190, 220)
長條圖適合展示不同類別的數據對比。我們可以使用長條圖來比較多隻股票的收盤價。
# 多隻股票的收盤價
stocks = ['Stock A', 'Stock B', 'Stock C', 'Stock D']
closing_prices = [210, 220, 198, 205]
plt.bar(stocks, closing_prices, color=['red', 'green', 'blue', 'orange'])
plt.title('Closing Prices of Different Stocks')
plt.xlabel('Stocks')
plt.ylabel('Closing Price (TWD)')
plt.show()
圓餅圖可以有效展示數據的比例,例如不同公司股票在投資組合中的比例。
# 股票投資組合的比例
labels = ['Stock A', 'Stock B', 'Stock C', 'Stock D']
sizes = [25, 35, 20, 20] # 各股票的比例
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'])
plt.title('Stock Portfolio Distribution')
plt.axis('equal') # 確保圓餅圖是圓形
plt.show()
autopct='%1.1f%%'
用於顯示百分比。startangle=90
用於旋轉圓餅圖,使其從頂端開始。假設我們要繪製台灣某股票的年度股價走勢,並展示不同月份的平均股價變化。
import matplotlib.pyplot as plt
# 台灣某股票的每月平均股價
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
prices = [210, 215, 220, 218, 225, 230, 240, 235, 238, 242, 245, 250]
# 繪製年度股價走勢折線圖
plt.plot(months, prices, marker='o', color='b', linestyle='-', label='Stock Price')
# 設定圖例
plt.legend()
# 設定標題與標籤
plt.title('Taiwan Stock Price Trend - 2024')
plt.xlabel('Months')
plt.ylabel('Average Stock Price (TWD)')
# 設定座標範圍
plt.ylim(200, 260)
# 顯示圖表
plt.show()
# 股票的收盤價
stocks = ['Stock A', 'Stock B', 'Stock C', 'Stock D']
closing_prices = [245, 235, 250, 240]
plt.bar(stocks, closing_prices, color=['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728'])
plt.title('Taiwan Stock Closing Prices Comparison')
plt.xlabel('Stocks')
plt.ylabel('Closing Price (TWD)')
plt.show()
# 股票投資組合
labels = ['Stock A', 'Stock B', 'Stock C', 'Stock D']
sizes = [30, 25, 25, 20] # 投資比例
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['#ff9999','#66b3ff','#99ff99','#ffcc99'])
plt.title('Taiwan Stock Portfolio Distribution')
plt.axis('equal') # 保持圓形
plt.show()
透過本專題,我們學習了如何使用 Matplotlib 來進行數據視覺化操作,並實現了台灣股市的股價走勢圖、不同股票的收盤價長條圖,以及股票投資組合的圓餅圖。這些圖表不僅幫助我們理解數據趨勢,還可以用來進行深入的市場分析。