📊 Dash dcc.Graph 完整教學:打造互動式圖表應用程式

更新 發佈閱讀 5 分鐘

Dash 是由 Plotly 所開發的 Python Web 應用框架,用來快速建構互動式資料視覺化應用。dcc.Graph 是 Dash 中的核心元件之一,用來顯示圖表(基於 Plotly 的視覺化功能),支援互動操作如滑鼠移動、點擊、縮放等。


📌 什麼是 dcc.Graph

dcc.Graph 是 Dash Core Components 中的視覺化元件,主要用來嵌入 Plotly 圖表。你可以使用任何 Plotly 的圖表格式(line, bar, pie, scatter, heatmap 等)來呈現資料。


🔧 安裝 Dash

如果你尚未安裝 Dash,可以先執行:

pip install dash

🧠 基本語法

import dash_core_components as dcc

dcc.Graph(
id='my-graph',
figure={
'data': [...], # 圖表資料(如散佈圖、折線圖)
'layout': {...} # 視覺佈局(標題、軸線、大小)
}
)

🟢 範例一:基本折線圖

vocus|新世代的創作平台
python
import dash
from dash import dcc
from dash import html
import plotly.graph_objs as go

app = dash.Dash(__name__)

app.layout = html.Div([
html.H1("折線圖範例"),
dcc.Graph(
id='line-chart',
figure={
'data': [
go.Scatter(x=[1, 2, 3, 4], y=[10, 15, 13, 17], mode='lines+markers', name='A線'),
go.Scatter(x=[1, 2, 3, 4], y=[16, 5, 11, 9], mode='lines', name='B線')
],
'layout': go.Layout(
title='簡單折線圖',
xaxis={'title': 'X軸'},
yaxis={'title': 'Y軸'}
)
}
)
])

if __name__ == '__main__':
app.run_server(debug=True)

🟠 範例二:互動式點擊事件(點圖時顯示資訊)

vocus|新世代的創作平台
import dash
from dash import dcc, html, Input, Output
import plotly.express as px
import pandas as pd

# 建立資料
df = px.data.iris()

app = dash.Dash(__name__)

app.layout = html.Div([
dcc.Graph(id='scatter-plot',
figure=px.scatter(df, x="sepal_width", y="sepal_length", color="species")),
html.Div(id='click-output')
])

@app.callback(
Output('click-output', 'children'),
Input('scatter-plot', 'clickData')
)
def display_click_data(clickData):
if clickData:
point = clickData['points'][0]
return f"你點選的是:({point['x']}, {point['y']}),種類為:{point['customdata'] if 'customdata' in point else '未知'}"
return "尚未點選任何點"

if __name__ == '__main__':
app.run_server(debug=True)

🔄 常用屬性說明

vocus|新世代的創作平台


留言
avatar-img
螃蟹_crab的沙龍
167會員
322內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
你可能也想看
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News