Site icon Bệ Phóng Việt

Trực quan hoá dữ liệu tương tác với Plotly trong Python (phần 3)

Advertisements

Plotly là một thư viện trực quan hoá dữ liệu được sử dụng để tạo ra các biểu đồ tương tác và đẹp mắt. Nó hỗ trợ nhiều loại biểu đồ và có thể tạo ra các biểu đồ tương tác trực tiếp trong trình duyệt web. Trong bài viết này, chúng ta sẽ tìm hiểu về Plotly và cách sử dụng nó để tạo ra các biểu đồ tương tác.

Giới thiệu về Plotly

Plotly là một thư viện trực quan hoá dữ liệu được sử dụng để tạo ra các biểu đồ tương tác và đẹp mắt. Nó cung cấp nhiều loại biểu đồ như biểu đồ đường, biểu đồ cột, biểu đồ phân tán, biểu đồ bầu trời, biểu đồ sankey và nhiều hơn nữa.

Plotly có thể tạo ra các biểu đồ tương tác trực tiếp trong trình duyệt web. Nó cũng cho phép chúng ta chia sẻ các biểu đồ của mình trực tiếp trên các trang web hoặc mạng xã hội.

Cài đặt Plotly

Chúng ta có thể cài đặt Plotly bằng pip, công cụ quản lý gói Python.

pip install plotly

Sau khi cài đặt xong, chúng ta có thể bắt đầu sử dụng Plotly để trực quan hoá dữ liệu.

Biểu đồ đường tương tác với Plotly

Biểu đồ đường là một trong những loại biểu đồ phổ biến nhất được sử dụng để trực quan hoá dữ liệu. Chúng ta có thể tạo biểu đồ đường tương tác với Plotly bằng hàm go.Scatter().

Giả sử chúng ta có một tập tin dữ liệu chứa thông tin về số lượng truy cập trang web theo ngày. Dưới đây là mã để tạo biểu đồ đường tương tác với Plotly.

import plotly.graph_objects as go
import pandas as pd

# Đọc dữ liệu từ tập tin
df = pd.read_csv('data.csv')

# Tạo biểu đồ đường
fig = go.Figure()
fig.add_trace(go.Scatter(x=df['Ngay'], y=df['Truy_cap'], mode='lines', name='Truy cập'))

# Đặt tiêu đề cho biểu đồ
fig.update_layout(title='Biểu đồ đường tương tác')

# Hiển thị biểu đồ
fig.show()

Kết quả sẽ là một biểu đồ đường tương tác trực quan với trục x là các ngày và trục y là số lượng truy cập trang web.

Biểu đồ cột tương tác với Plotly

Biểu đồ cột là một trong những loại biểu đồ phổ biến nhất được sử dụng để trực quan hoá dữ liệu. Chúng ta có thể tạo biểu đồ cột tương tác với Plotly bằng hàm go.Bar().

Giả sử chúng ta có một tập tin dữ liệu chứa thông tin về số lượng sản phẩm bán ra theo từng tháng. Dưới đây là mã để tạo biểu đồ cột tương tác với Plotly.

import plotly.graph_objects as go
import pandas as pd

# Đọc dữ liệu từ tập tin
df = pd.read_csv('data.csv')

# Tạo biểu đồ cột
fig = go.Figure()
fig.add_trace(go.Bar(x=df['Thang'], y=df['So_luong'], name='Sản phẩm'))

# Đặt tiêu đề cho biểu đồ
fig.update_layout(title='Biểu đồ cột tương tác')

# Hiển thị biểu đồ
fig.show()

Kết quả sẽ là một biểu đồ cột tương tác trực quan với trục x là các tháng và trục y là số lượng sản phẩm bán ra.

Biểu đồ phân tán tương tác với Plotly

Biểu đồ phân tán là một trong những loại biểu đồ phổ biến nhất được sử dụng để trực quan hoá mối quan hệ giữa hai biến. Chúng ta có thể tạo biểu đồ phân tán tương tác bằng hàm go.Scatter().

Giả sử chúng ta có một tập tin dữ liệu chứa thông tin về giá trị nhà đất theo diện tích. Dưới đây là mã để tạo biểu đồ phân tán tương tác với Plotly.

import plotly.graph_objects as go
import pandas as pd

# Đọc dữ liệu từ tập tin
df = pd.read_csv('data.csv')

# Tạo biểu đồ phân tán
fig = go.Figure()
fig.add_trace(go.Scatter(x=df['Dien_tich'], y=df['Gia_tri'], mode='markers', name='Giá trị'))

# Đặt tiêu đề cho biểu đồ
fig.update_layout(title='Biểu đồ phân tán tương tác')

# Hiển thị biểu đồ
fig.show()

Kết quả sẽ là một biểu đồ phân tán tương tác trực quan với trục x là diện tích và trục y là giá trị nhà đất.

Biểu đồ sankey tương tác với Plotly

Biểu đồ sankey là một loại biểu đồ được sử dụng để trực quan hoá dòng chảy hoặc mối quan hệ giữa các nhóm. Chúng ta có thể tạo biểu đồ sankey tương tác với Plotly bằng hàm go.Sankey().

Giả sử chúng ta có một tập tin dữ liệu chứa thông tin về số lượng sản phẩm được bán ra và số lượng khách hàng theo từng loại sản phẩm. Dưới đây là mã để tạo biểu đồ sankey tương tác với Plotly.

import plotly.graph_objects as go
import pandas as pd

# Đọc dữ liệu từ tập tin
df = pd.read_csv('data.csv')

# Tạo biểu đồ sankey
fig = go.Figure(data=[go.Sankey(
node = dict(
pad = 15,
thickness = 20,
line = dict(color = "black", width = 0.5),
label = ["Sản phẩm A", "Sản phẩm B", "Sản phẩm C", "Khách hàng A", "Khách hàng B", "Khách hàng C"],
color = ["blue", "blue", "blue", "red", "red", "red"]
),
link = dict(
source = [0, 0, 1, 1, 2, 2, 3, 4, 5],
target = [3, 4, 3, 5, 3, 4, 6, 6, 6],
value = df['So_luong']
))])

# Đặt tiêu đề cho biểu đồ
fig.update_layout(title='Biểu đồ sankey tương tác')

# Hiển thị biểu đồ
fig.show()

Kết quả sẽ là một biểu đồ sankey tương tác trực quan với các khối biểu thị sản phẩm và khách hàng.

Kết luận

Plotly là một thư viện trực quan hoá dữ liệu phổ biến trong Python. Nó cung cấp nhiều loại biểu đồ và có thể tạo ra các biểu đồ tương tác trực tiếp trong trình duyệt web.

Xem phần 4: TQHDL và Tạo bảng điều khiển trong Python (phần 4)

Xem tổng quan khoá học tại Trực quan hóa dữ liệu với Python

Exit mobile version