Tùy chỉnh màu

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Alex Scriven

Data Scientist

Tùy chỉnh tổng quan

 

Cách tùy chỉnh biểu đồ:

  1. Khi tạo biểu đồ, nếu có đối số (như color)
  2. Sau khi tạo, dùng update_layout()
    • Nhận một từ điển
    • fig.update_layout({"title":{"text":"A New Title"}})
Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Vì sao tùy chỉnh màu?

 

Tùy chỉnh màu giúp:

  1. Làm biểu đồ đẹp hơn
  2. Truyền tải insight phân tích
    • Màu trong biểu đồ phân tán thêm chiều thứ 3.

   

Màu là loài

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Một chút lý thuyết màu

 

Máy tính dùng mã RGB để chỉ định màu:

  • RGB = Mã 3 số (mỗi số 0-255) pha trộn Red, Green, Blue
    • (0,0,255) là xanh dương và (255,255,0) là vàng

$$

$$

Xem thêm trong bài viết

bảng ví dụ màu RGB

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Chỉ định màu trong plotly.express

 

  • Đối số color (cột DataFrame)
    • Mỗi hạng mục được gán một màu (tự động)
    • Cột số dùng thang màu liên tục

 

fig = px.bar(data_frame=student_scores, 
      x="student_name", 
      y="score", 
      title="Student Scores by Student"
      color="city")
fig.show()
Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Màu chúng ta dùng

Biểu đồ trước:

Biểu đồ cột không màu

Biểu đồ sau:

Biểu đồ cột có màu

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Màu với biểu đồ đơn biến

 

Dùng đối số color của plotly.express với biểu đồ đơn biến (cột, histogram):

  • Histogram - cột xếp chồng
  • Box plot - tạo nhiều đồ thị

Histogram xếp chồng có màu

Boxplot cạnh nhau có màu

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Màu cụ thể trong plotly.express

 

  • color_discrete_map: Từ điển ánh xạ giá trị phân loại sang màu
  • Cũng có thể dùng tên màu cơ bản dạng chuỗi như "red", "green"...
Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Màu cụ thể của chúng ta

$$

fig = px.bar(
    data_frame=student_scores, 
    x="student_name", y="score", 
    title="Student Scores by Student",

color_discrete_map={ "Melbourne": "rgb(0,0,128)", "Sydney": "rgb(235, 207, 52)"},
color="city")

 

Biểu đồ cột với màu xác định

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Thang màu trong plotly.express

 

  • Thang một màu (xanh lá nhạt → đậm)

Thang màu xanh lá

  • Dải chuyển sắc (xanh lá → xanh dương)

$$

  • Đối số color_continuous_scale cho thang màu liên tục.

Thang xanh lá xanh dương

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Dùng thang màu tích hợp

 

fig = px.bar(data_frame=weekly_temps, 
    x="day", y="temp", 
    color="temp",
    color_continuous_scale="inferno")
fig.show()

 

$$

 

Biểu đồ cột với thang inferno

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Tạo dải màu riêng

 

  • Thang màu tùy chỉnh (vàng - cam - đỏ)
my_scale=[("rgb(242, 238, 10)"),
          ("rgb(242, 95, 10)"), 
          ("rgb(255,0,0)")]

fig = px.bar(data_frame=weekly_temps, x="day", y="temp",
color_continuous_scale=my_scale, color="temp")

 

Biểu đồ cột với thang màu tự tạo

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Ayo berlatih!

Nhập môn Trực quan hóa Dữ liệu với Plotly trong Python

Preparing Video For Download...