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 biểu đồ động trực quan hoá dữ liệu bằng Plotly
Hướng Dẫn Đồ ÁnLập Trình AI

Tạo biểu đồ động trực quan hoá dữ liệu bằng Plotly

Chia sẻ
Chia sẻ

Trong thời đại dữ liệu bùng nổ, việc trực quan hóa dữ liệu không chỉ dừng lại ở các biểu đồ tĩnh như biểu đồ cột hay đường. Người dùng hiện đại đòi hỏi những công cụ trực quan, tương tác, để khám phá dữ liệu theo thời gian thực. Đây là lý do các thư viện trực quan hóa động ngày càng trở nên quan trọng trong phân tích dữ liệu và xây dựng dashboard.

Plotly là một trong những thư viện mạnh mẽ nhất cho trực quan hóa dữ liệu tương tác trong Python. Với khả năng tạo các biểu đồ động, đồ thị 3D và hỗ trợ Web, Plotly giúp người dùng không chỉ “thấy” dữ liệu mà còn “tương tác” với nó. Bài viết này sẽ hướng dẫn bạn cách sử dụng Plotly để tạo các biểu đồ động trực quan, từ cơ bản đến nâng cao.

Giới thiệu Plotly và ưu điểm

Plotly là thư viện mã nguồn mở hỗ trợ tạo các biểu đồ tương tác với khả năng hiển thị trực tiếp trên trình duyệt hoặc tích hợp vào ứng dụng web. Khác với Matplotlib (tập trung vào đồ thị tĩnh), Plotly cho phép người dùng zoom, pan, và hover để xem thông tin chi tiết.

Ưu điểm của Plotly:

  • Tương tác mạnh mẽ: biểu đồ phản hồi khi người dùng di chuột hoặc click.

  • Hỗ trợ nhiều loại biểu đồ: scatter, line, bar, pie, map, 3D plots…

  • Tích hợp dễ dàng với Dash để xây dựng dashboard.

  • Có thể lưu biểu đồ dưới dạng HTML để chia sẻ.

Trong phần tiếp theo, bạn sẽ học cách cài đặt Plotly và chuẩn bị dữ liệu để bắt đầu.

Cài đặt Plotly và chuẩn bị dữ liệu

Để sử dụng Plotly, bạn cần cài đặt thư viện trên môi trường Python của mình. Đồng thời, chuẩn bị một bộ dữ liệu để thử nghiệm giúp việc học trực quan và dễ hiểu hơn. Việc này quan trọng để tránh lỗi khi chạy code và đảm bảo mọi thư viện đều tương thích.

Ta sẽ dùng bộ dữ liệu COVID-19 từ Our World in Data.

Link dữ liệu chính thức:
👉 https://covid.ourworldindata.org/data/owid-covid-data.csv

Cài Plotly bằng pip và sử dụng Pandas để xử lý dữ liệu.

pip install plotly pandas

Tải dữ liệu:

import pandas as pd

# Tải dữ liệu COVID-19
url = "https://covid.ourworldindata.org/data/owid-covid-data.csv"
df = pd.read_csv(url)
df = df[df['location'] == 'Vietnam']  # Lọc dữ liệu Việt Nam
print(df[['date', 'new_cases', 'new_deaths']].head())

Tạo biểu đồ đường động (Line Chart)

Biểu đồ đường là cách phổ biến để hiển thị dữ liệu theo thời gian. Khi kết hợp với Plotly, biểu đồ này có thể tương tác, giúp người xem dễ dàng zoom vào giai đoạn cụ thể hoặc hover để xem số liệu từng ngày.

Sử dụng plotly.express để tạo line chart hiển thị số ca nhiễm COVID-19 mới theo ngày.

import plotly.express as px

fig = px.line(df, x='date', y='new_cases', title='Số ca nhiễm COVID-19 theo ngày tại Việt Nam')
fig.show()

Tạo biểu đồ cột động (Bar Chart)

Biểu đồ cột giúp so sánh giá trị giữa các danh mục hoặc khoảng thời gian. Khi được làm động, biểu đồ có thể cập nhật liên tục khi dữ liệu thay đổi, rất hữu ích trong phân tích dữ liệu streaming hoặc real-time.

Hiển thị số ca tử vong mới theo ngày bằng biểu đồ cột tương tác.

fig = px.bar(df, x='date', y='new_deaths', title='Số ca tử vong COVID-19 theo ngày tại Việt Nam')
fig.show()

Tạo biểu đồ phân tán động (Scatter Plot)

Biểu đồ phân tán giúp tìm mối quan hệ giữa hai biến số. Khi thêm animation, biểu đồ có thể hiển thị dữ liệu biến đổi theo thời gian, phù hợp để theo dõi xu hướng.

Sử dụng dữ liệu nhiều quốc gia để tạo scatter plot động.

df_world = pd.read_csv(url)
fig = px.scatter(df_world, x="gdp_per_capita", y="life_expectancy", 
                 animation_frame="date", animation_group="location",
                 size="pop", color="continent", hover_name="location",
                 log_x=True, size_max=60,
                 range_x=[100,100000], range_y=[25,90])
fig.show()

Tạo bản đồ động (Choropleth Map)

Choropleth map cho phép hiển thị dữ liệu phân bố theo quốc gia hoặc vùng lãnh thổ trên bản đồ thế giới. Đây là cách trực quan để theo dõi dữ liệu địa lý như số ca COVID-19, dân số, hoặc GDP.

Hiển thị tổng số ca nhiễm COVID-19 theo quốc gia trên bản đồ động.

fig = px.choropleth(df_world, locations="iso_code",
                    color="total_cases",
                    hover_name="location",
                    animation_frame="date",
                    title="Tổng số ca COVID-19 theo quốc gia")
fig.show()

Lưu biểu đồ và chia sẻ

Biểu đồ Plotly có thể được lưu thành file HTML, giúp chia sẻ dễ dàng mà vẫn giữ tính tương tác.

Lưu line chart thành HTML.

fig.write_html("covid_vietnam_line_chart.html")

Bạn có thể mở file này trên bất kỳ trình duyệt nào.

Kết luận

Plotly mang lại sức mạnh trực quan hóa dữ liệu động, giúp người dùng không chỉ quan sát mà còn tương tác sâu với dữ liệu. Từ biểu đồ đường, cột, scatter đến bản đồ, Plotly đều cung cấp giải pháp dễ triển khai và hiệu quả.

Tiếp theo, bạn có thể kết hợp Plotly với Dash để xây dựng dashboard phân tích dữ liệu real-time hoặc tích hợp vào ứng dụng web để chia sẻ trực tiếp với người dùng.

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!