CodeGym /課程 /Python SELF TW /構建互動式圖表以分析大量數據

構建互動式圖表以分析大量數據

Python SELF TW
等級 42 , 課堂 3
開放

1. 使用互動式圖表的基礎

我們先從基礎開始——製作一個基本的互動式圖表。我們來創建一個散點圖,展示你在虛擬花園裡胡蘿蔔的成長情況。沒錯,就連程式設計師也會有當園藝家的夢想!

Python

import plotly.express as px
import pandas as pd

# 簡單的 DataFrame,我們的數據
df = pd.DataFrame({
    '天數': [1, 2, 3, 4, 5],
    '胡蘿蔔成長': [2, 3, 5, 7, 11]
})

# 創建互動式折線圖
fig = px.line(df, x='天數', y='胡蘿蔔成長', title='一周內胡蘿蔔的成長')
fig.show()

當你運行這段程式碼時,一個新的瀏覽器窗口會打開,你會看到一個超棒的互動式圖表。可以縮放、放大,也可以點擊各個點來查看其值。

現在來加入一些互動的魔力吧!

2. 調整互動功能

Plotly 允許自定義提示框、調色板,並在互動式圖表中加入額外的數據,讓報表更加資訊豐富且視覺上更吸引人。

自定義提示框(Tooltips)

在 Plotly 中,可以往提示框中添加詳細的數據,當鼠標懸停在圖表元素上時可以顯示。

Python

import plotly.express as px
import pandas as pd

# 簡單的 DataFrame,我們的數據
df = pd.DataFrame({
    '天數': [1, 2, 3, 4, 5],
    '胡蘿蔔成長': [2, 3, 5, 7, 11],
    "農藝師計劃": [3, 4, 5, 6, 13]
})

# 創建互動式折線圖
fig = px.line(df, x='天數', y='胡蘿蔔成長', title='一周內胡蘿蔔的成長', hover_data={"農藝師計劃": True})
fig.show()

這裡的 hover_data={"農藝師計劃": True} 將農藝師的計劃數據加入提示框內,讓使用者在懸停時對比實際數據與計劃數據。

自定義色彩方案

Plotly 支援多種色彩方案,可用於提升圖表的視覺效果。

Python

import plotly.express as px

# 圖表數據
data = {
    "類別": ["A", "B", "C", "D"],
    "數值": [10, 20, 30, 40]
}

fig = px.bar(data, x="類別", y="數值", color="類別", title="按類別劃分的數據")
fig.show()

可以自定義調色板,使報告更加生動且具有資訊性。

縮放功能

Plotly 提供多種互動元素,可以在圖表中整合,比如縮放、平移和註解。例如,你可以輕鬆啟用縮放和調整比例,如下所示:

Python

import plotly.graph_objects as go

# 使用胡蘿蔔數據,添加互動功能
fig = go.Figure(data=go.Scatter(x=df['天數'], y=df['胡蘿蔔成長'], mode='lines+markers'))

# 設置控制項目
fig.update_layout(
    title='一周內胡蘿蔔的成長',
    xaxis_title='天數',
    yaxis_title='胡蘿蔔成長 (厘米)',
    hovermode='closest'
)

fig.show()

該圖表允許你點擊此點並提供額外資訊,我們可以自行定義。

3. 互動式圖表的應用範例

互動式圖表非常適合用於可視化大型數據集。例如,假設有一份含有數千行的商店年度銷售數據集。互動元素不僅可以幫助你查看整體情況,還能深入細節,分析特定日期,找到峰值和低谷,改善對數據的理解與決策能力。

我們來創建一個例子,假設我們有年度溫度數據,想將其可視化:

Python

import numpy as np

# 生成溫度數據
np.random.seed(0)
x = np.arange(365)
y = np.random.normal(30, 5, 365)  # 平均溫度為 30 度

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines', line=dict(color='firebrick')))

fig.update_layout(
    title='全年溫度變化',
    xaxis_title='天',
    yaxis_title='溫度 (°C)'
)

fig.show()

現在你擁有了一個互動式圖表,不僅展示了幾乎每天的溫度變化,還可以放大特定的時期進行詳細研究。

自定義圖表

Plotly 提供自定義選項,幫助你創建視覺上吸引人且實用的圖表。你可以更改顏色、添加提示框、圖例,甚至動畫!對於更複雜的場景,你可以深入閱讀 Plotly 的文檔,了解如何在你的項目中利用這些功能。

你可能認為繪製互動式圖表是一個高手級別的任務,但通過學習 Plotly,你將解鎖數據可視化的新大門。使用這些技能來強化你的分析能力,成為你工作場所的 Excel(或 Python)明星。別忘了多嘗試和探索新方法——偉大的點子往往由此誕生!

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION