Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Trang Chủ Hướng Dẫn Đồ Án Tạo dashboard phân tích dữ liệu bằng Dash
Hướng Dẫn Đồ ÁnLập Trình AI

Tạo dashboard phân tích dữ liệu bằng Dash

Chia sẻ
Chia sẻ

Dashboard là một công cụ mạnh mẽ để trực quan hóa dữ liệu và cung cấp cái nhìn tổng quan về các chỉ số quan trọng. Trong thời đại dữ liệu lớn, các tổ chức và doanh nghiệp ngày càng cần những dashboard tương tác để giám sát hệ thống và ra quyết định nhanh chóng. Dash – một thư viện Python dựa trên Flask, Plotly và React – cung cấp giải pháp tuyệt vời để xây dựng dashboard phân tích dữ liệu hiện đại chỉ bằng Python.

Bạn có thể tham khảo thêm các bài viết hữu ích: Chuyển mô hình học máy sang ứng dụng thực tế bằng FastAPI, Làm sạch dữ liệu lớn trước khi phân tích, và Tạo biểu đồ động trực quan hoá dữ liệu bằng Plotly để hiểu cách tích hợp dashboard vào pipeline phân tích dữ liệu.

Trong bài viết này, chúng ta sẽ xây dựng một dashboard phân tích dữ liệu đơn giản bằng Dash để trực quan hóa bộ dữ liệu mẫu và thực hiện các tương tác cơ bản.

Cài đặt thư viện cần thiết

Để tạo dashboard với Dash, bạn cần cài đặt Dash và các thư viện liên quan như Pandas để xử lý dữ liệu và Plotly để trực quan hóa.

Cài đặt trên local:

pip install dash pandas plotly

Cài đặt trên Google Colab (Dash cần môi trường Jupyter):

!pip install dash pandas plotly jupyter-dash

Chuẩn bị dữ liệu để phân tích

Bộ dữ liệu mẫu được sử dụng là bộ Iris nổi tiếng, chứa các thuộc tính về hoa và loại hoa. Dữ liệu này phù hợp để minh họa dashboard trực quan với nhiều biểu đồ khác nhau.

import pandas as pd

# Tải dữ liệu Iris
df = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
print(df.head())

Cấu trúc thư mục dự án (local)

Nếu xây dựng dự án dashboard trên máy tính, bạn nên tổ chức file như sau:

dash-dashboard/
├── app.py                # File chính khởi chạy Dash
├── assets/
│   └── style.css         # (Tuỳ chọn) File CSS để tùy chỉnh giao diện
├── data/
│   └── iris.csv          # Dữ liệu sử dụng
├── requirements.txt      # Danh sách thư viện cần cài
└── README.md             # Hướng dẫn sử dụng

Xây dựng layout cho dashboard

Dashboard phân tích dữ liệu cần có bố cục trực quan để hiển thị biểu đồ và các thành phần tương tác. Dash sử dụng dash_html_components để xây dựng layout HTML và dash_core_components để thêm dropdown, slider, graph…

from dash import Dash, html, dcc
import plotly.express as px

app = Dash(__name__)

# Layout dashboard
app.layout = html.Div([
    html.H1("Dashboard Phân tích dữ liệu Iris", style={'textAlign': 'center'}),
    dcc.Dropdown(
        id='species-dropdown',
        options=[{'label': species, 'value': species} for species in df['species'].unique()],
        value='setosa',
        clearable=False
    ),
    dcc.Graph(id='scatter-plot')
])

Thêm callback để tương tác dữ liệu

Callback trong Dash cho phép dashboard cập nhật biểu đồ khi người dùng tương tác với các thành phần (như dropdown hoặc slider). Trong ví dụ này, chúng ta sẽ cập nhật scatter plot dựa trên loài hoa được chọn.

from dash.dependencies import Input, Output

@app.callback(
    Output('scatter-plot', 'figure'),
    Input('species-dropdown', 'value')
)
def update_scatter(selected_species):
    filtered_df = df[df['species'] == selected_species]
    fig = px.scatter(
        filtered_df,
        x='sepal_length',
        y='sepal_width',
        color='species',
        size='petal_length',
        title=f'Dữ liệu hoa {selected_species.capitalize()}'
    )
    return fig

Chạy server Dash

Sau khi hoàn thiện layout và callback, bạn có thể chạy server Dash để truy cập dashboard trên trình duyệt.

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

Chạy file app.py và truy cập http://127.0.0.1:8050 để xem dashboard.

Mở rộng dashboard với nhiều biểu đồ

Bạn có thể thêm nhiều biểu đồ hơn vào dashboard để hiển thị dữ liệu toàn diện hơn. Ví dụ, thêm biểu đồ histogram để phân tích độ dài cánh hoa:

html.Div([
    dcc.Graph(
        figure=px.histogram(df, x='petal_length', color='species', nbins=20),
        id='histogram'
    )
])

Kết luận

Việc xây dựng dashboard phân tích dữ liệu bằng Dash mang đến một giải pháp trực quan và dễ sử dụng cho các nhà phân tích dữ liệu, giúp họ trình bày kết quả phân tích một cách sinh động và dễ hiểu. Với khả năng kết hợp các thành phần tương tác như dropdown, slider và biểu đồ trực quan, Dash giúp người dùng khám phá và khai thác dữ liệu nhanh chóng mà không cần kiến thức lập trình web chuyên sâu. Điều này đặc biệt hữu ích trong môi trường doanh nghiệp, nơi việc ra quyết định dựa trên dữ liệu cần được thực hiện nhanh chóng và hiệu quả.

Hơn nữa, Dash còn cho phép mở rộng dễ dàng để xử lý dữ liệu lớn hoặc tích hợp với các hệ thống thời gian thực, mang lại tiềm năng phát triển mạnh mẽ trong các dự án dữ liệu. Với kiến thức từ bài viết này, bạn hoàn toàn có thể bắt đầu thiết kế những dashboard đầu tiên, từ các bảng phân tích đơn giản đến hệ thống giám sát dữ liệu phức tạp phục vụ công việc và nghiên cứu.

Tham Gia Nhóm – Hỗ Trợ Lập Trình

Hỗ Trợ Đồ Án – ThueDoAn.vn

Liên quan
Hướng Dẫn Đồ Án

Checklist 10 bước kiểm tra cuối cùng trước khi nhấn nút nộp đồ án

Thời điểm chuẩn bị nhấn nút nộp đồ án luôn mang lại...

Hướng Dẫn Đồ Án

Tuyệt chiêu đối phó với những giảng viên hướng dẫn ‘khó tính’ nhất

Giai đoạn làm đồ án tốt nghiệp luôn đi kèm với vô...

Hướng Dẫn Đồ Án

Tại sao việc quản lý Source Code bằng Git lại quan trọng hơn bạn nghĩ?

Trong thế giới lập trình hiện đại, mã nguồn chính là linh...

Hướng Dẫn Đồ Án

Những chức năng ‘thừa’ khiến bạn tốn thời gian mà không được cộng điểm

Làm đồ án tốt nghiệp là một cuộc đua thực thụ với...

Hướng Dẫn Đồ Án

Cách xử lý khi đề tài bị trùng lặp ý tưởng với các khóa trước quá nhiều

Lựa chọn đề tài đồ án luôn là bước khởi đầu đầy...

Hướng Dẫn Đồ Án

Làm sao để giải trình với giảng viên khi code bị nghi ngờ là đi chép?

Trong quá trình thực hiện đồ án, việc tham khảo mã nguồn...

Hướng Dẫn Đồ Án

Cảnh báo: Những nguồn share code ‘rác’ trên mạng cần tuyệt đối tránh

Trong quá trình làm đồ án, việc tìm kiếm sự hỗ trợ...

Hướng Dẫn Đồ Án

Sai lầm khi chọn công nghệ quá khó so với năng lực thực tế của bản thân

Chọn đề tài và công nghệ cho đồ án luôn là bước...

Liên Hệ
Liên hệ để được tư vấn & hỗ trợ đồ án CNTT nhé bạn!