iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Python

Python探索之旅:從基礎到實踐系列 第 19

D19:數據的藝術 - 透視台灣股市的視覺化魔法

  • 分享至 

  • xImage
  •  

在數據分析中,數據視覺化是一個非常關鍵的環節,它能夠幫助我們更直觀地理解數據趨勢與變化。在這個專題中,我們將使用 Python 的 Matplotlib 模組來進行數據視覺化,並通過繪製折線圖、長條圖、圓餅圖來展示台灣股市的股價走勢。

1. Matplotlib 模組簡介

Matplotlib 是 Python 中最常用的數據視覺化庫之一,它提供了豐富的 API 來創建各種類型的圖表,例如折線圖、長條圖、圓餅圖等。

1.1 安裝 Matplotlib:

pip install matplotlib

2. 繪製台灣股市折線圖

折線圖是用來展示時間序列數據變化的好工具。在這裡,我們將以台灣某股票的股價走勢為例,繪製股價變化的折線圖。

2.1 基本折線圖:

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()

2.2 設定線條樣式與圖例:

  • marker='o' 用於在每個數據點上顯示標記。
  • color='b' 設定線條顏色為藍色。
  • linestyle='-' 設定為實線。
  • label='Stock Price' 用於圖例。

2.3 設定座標範圍:

# 設定 Y 軸範圍
plt.ylim(190, 220)

3. 繪製長條圖 (Bar Chart)

長條圖適合展示不同類別的數據對比。我們可以使用長條圖來比較多隻股票的收盤價。

3.1 基本長條圖:

# 多隻股票的收盤價
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()

4. 繪製圓餅圖 (Pie Chart)

圓餅圖可以有效展示數據的比例,例如不同公司股票在投資組合中的比例。

4.1 基本圓餅圖:

# 股票投資組合的比例
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 用於旋轉圓餅圖,使其從頂端開始。

5. 專題 - 台灣股市股價走勢圖

假設我們要繪製台灣某股票的年度股價走勢,並展示不同月份的平均股價變化。

5.1 台灣股市年度股價走勢折線圖:

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()

5.2 台灣多隻股票的收盤價長條圖:

# 股票的收盤價
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()

5.3 台灣股票投資組合圓餅圖:

# 股票投資組合
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 來進行數據視覺化操作,並實現了台灣股市的股價走勢圖、不同股票的收盤價長條圖,以及股票投資組合的圓餅圖。這些圖表不僅幫助我們理解數據趨勢,還可以用來進行深入的市場分析。


上一篇
D18:數據大師之路 - 從 CSV 到 MySQL 與 Google 試算表的全面操作指南
下一篇
DAY 20: 基礎網頁爬蟲與數據自動化的實踐
系列文
Python探索之旅:從基礎到實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言