CodeGym /Các khóa học /Python SELF VI /Thiết lập chú thích, chú giải và trục để cải thiện khả nă...

Thiết lập chú thích, chú giải và trục để cải thiện khả năng đọc đồ thị

Python SELF VI
Mức độ , Bài học
Có sẵn

1. Tầm quan trọng của chú thích đồ thị

Tại sao cần thêm chú thích, chú giải và chú dẫn vào đồ thị

Hôm nay mình sẽ nói về một phần quan trọng không kém khi trực quan hóa dữ liệu - đó là chú thích. Nó giống như cái điều khiển TV vậy: có thể mọi thứ vẫn ổn mà không có nó, nhưng xem TV sẽ khó khăn, không rõ ràng. Chú thích, chú giải và chú dẫn như làm cho dữ liệu sống động và giao tiếp với chúng ta bằng ngôn ngữ dễ hiểu hơn.

Bạn có thể thắc mắc: thật sự chú thích và chú giải quan trọng đến vậy sao? Câu trả lời đơn giản: chúng giống như muối và tiêu cho đồ thị. Thiếu chúng, đồ thị của bạn có thể khó hiểu và ý nghĩa dữ liệu có thể bị mất. Bằng cách thêm chú thích, chúng ta làm đồ thị thêm ý nghĩa và dễ hiểu hơn.

Chú thích và chú giải giúp người xem nhanh chóng hiểu họ đang nhìn vào gì. Hãy tưởng tượng bạn nhìn vào một tấm bản đồ kho báu mà không có hướng dẫn và bạn được yêu cầu tìm lối đi ngay lập tức. Nghe có vẻ điên rồ, đúng không? Điều tương tự xảy ra với đồ thị thiếu chú thích. Chúng ta phải giúp người xem, không làm khó họ.

Giờ thì hãy học cách thêm phép màu của chú thích vào đồ thị Python với Matplotlib nhé! Sẵn sàng chưa? Bắt đầu nào!

2. Chú thích trục

Quản lý chú thích trục với xlabel, ylabel và title

Bước đầu tiên - đặt tên cho các trục. Quy trình này đơn giản như 2+2 vậy. Sử dụng hàm xlabel()ylabel() để thêm chú thích cho trục XY, tương ứng. Còn tiêu đề đồ thị thì dùng hàm title(). Các hàm này làm đồ thị của bạn có cấu trúc rõ ràng hơn. Đây là một ví dụ đơn giản:

Python

import matplotlib.pyplot as plt

# Dữ liệu
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# Tạo đồ thị
plt.plot(x, y, color='blue')

# Thêm chú thích
plt.xlabel('Thời gian (giờ)', color='red')
plt.ylabel('Khoảng cách (km)', color='green')
plt.title('Gia tăng khoảng cách theo thời gian', color='gold')

# Hiển thị đồ thị
plt.show()

Có thể làm nổi bật đồ thị và văn bản với màu sắc yêu thích:

Định dạng phông chữ và kích thước chú thích

Để đồ thị nhìn đẹp hơn, bạn có thể thay đổi kích thước, màu sắc và kiểu phông chữ của chú thích. Trong Matplotlib, bạn có thể thực hiện điều này qua các tham số fontsize, fontweight, color, và nhiều hơn thế.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)

# Định dạng tiêu đề và chú thích với tham số
plt.title("Ví dụ đồ thị", fontsize=16, fontweight="bold", color="navy")
plt.xlabel("Giá trị X", fontsize=12, color="darkred")
plt.ylabel("Giá trị Y", fontsize=12, color="darkred")

plt.show()

Trong ví dụ này:

  • fontsize đặt kích thước phông chữ.
  • fontweight="bold" làm chữ đậm.
  • color thay đổi màu văn bản.

3. Hiển thị "chú giải"

Thêm và điều chỉnh chú giải với hàm legend()

Chú giải không chỉ đơn thuần là truyền thuyết hay câu chuyện, mà còn là công cụ quan trọng trên đồ thị của bạn. Nó giải thích ý nghĩa các đường hoặc cột trên đồ thị và phân biệt giữa các dãy dữ liệu khác nhau. Matplotlib làm điều này rất dễ dàng. Đây là cách bạn có thể thêm chú giải vào đồ thị của mình:

Python

# Dữ liệu
x = [0, 1, 2, 3, 4, 5]
y1 = [0, 1, 4, 9, 16, 25]
y2 = [0, 1, 2, 3, 4, 5]

# Tạo đồ thị
plt.plot(x, y1, label='Bình phương của số')
plt.plot(x, y2, label='Chính số đó')

# Thêm chú thích
plt.xlabel('Thời gian (giờ)')
plt.ylabel('Khoảng cách (km)')
plt.title('So sánh hàm số')

# Thêm chú giải
plt.legend(loc='upper left')

# Hiển thị đồ thị
plt.show()

Lệnh legend() thêm chú giải vào vị trí bạn chỉ định. Tham số loc có thể được thay bằng 'best' để Python tự chọn vị trí phù hợp nhất (đúng vậy, AI cũng tham gia đấy).

Vị trí chú giải

Bạn có thể thay đổi vị trí chú giải bằng tham số loc. Ví dụ:

  • loc="upper right" — góc trên cùng bên phải (mặc định).
  • loc="upper left" — góc trên cùng bên trái.
  • loc="lower right" — góc dưới cùng bên phải.
  • loc="center" — trung tâm.
Python

plt.legend(loc="upper left")

Điều chỉnh kích thước và màu sắc chú giải

Bạn có thể điều chỉnh kích thước phông chữ và màu nền chú giải với các tham số fontsize, facecoloredgecolor.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [10, 15, 20, 25, 30]
y2 = [5, 10, 15, 20, 25]

plt.plot(x, y1, label="Đường 1", color="blue")
plt.plot(x, y2, label="Đường 2", color="green")

plt.title("Đồ thị với chú giải tùy chỉnh")
plt.xlabel("Giá trị X")
plt.ylabel("Giá trị Y")

# Điều chỉnh chú giải
plt.legend(loc="upper left", fontsize=10, facecolor="lightgray", edgecolor="black")

plt.show()

4. Định dạng trục

Matplotlib cho phép tùy chỉnh tỷ lệ, nhãn và phạm vi giá trị của trục, điều này rất hữu ích để cải thiện khả năng đọc đồ thị.

Thay đổi phạm vi trục

Hàm xlim()ylim() cho phép đặt giá trị tối thiểu và tối đa cho các trục.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Giá trị X")
plt.ylabel("Giá trị Y")
plt.xlim(0, 6)  # Phạm vi trục X từ 0 đến 6
plt.ylim(5, 35)  # Phạm vi trục Y từ 5 đến 35

plt.show()

Tùy chỉnh nhãn trên trục

Với hàm xticks()yticks(), bạn có thể đặt các nhãn tùy chỉnh cho trục.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Giá trị X")
plt.ylabel("Giá trị Y")

# Tùy chỉnh nhãn trục X
plt.xticks([1, 2, 3, 4, 5], ["Một", "Hai", "Ba", "Bốn", "Năm"])
plt.show()

Thêm lưới lên đồ thị

Lưới giúp dễ dàng theo dõi các giá trị trên đồ thị, nhất là khi dữ liệu có nhiều điểm hoặc giá trị.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Giá trị X")
plt.ylabel("Giá trị Y")
plt.grid(True)  # Thêm lưới

plt.show()

Bằng cách plt.grid(True), lưới mặc định sẽ được thêm vào. Bạn cũng có thể tùy chỉnh kiểu của lưới với các tham số color, linestylelinewidth.

Python

plt.grid(color="gray", linestyle="--", linewidth=0.5)

5. Thêm chú thích lên đồ thị

Chú thích giúp làm nổi bật các điểm quan trọng hoặc giải thích thêm cho đồ thị. Hàm annotate() hỗ trợ thêm văn bản vào một điểm cụ thể trên đồ thị.

Thêm chú thích

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Giá trị X")
plt.ylabel("Giá trị Y")

# Thêm chú thích
plt.annotate("Giá trị tối đa", xy=(5, 30), xytext=(3, 30),
             arrowprops=dict(facecolor="black", shrink=0.05))

plt.show()

Trong ví dụ này:

  • xy=(5, 30) chỉ tọa độ điểm mà bạn muốn chú thích.
  • xytext=(3, 30) chỉ vị trí của văn bản.
  • arrowprops thêm mũi tên chỉ vào điểm đó.

6. Ví dụ cải thiện đồ thị

Hãy thực hành nhé! Cùng xem cách thêm chú thích làm đồ thị rõ ràng hơn.

Giả sử bạn có một đồ thị hiển thị mức tăng trưởng doanh số của hai sản phẩm qua các tháng. Chúng ta sẽ làm nó dễ hiểu hơn và thêm các chú thích cần thiết.

Python

import matplotlib.pyplot as plt

# Các tháng và doanh số
months = ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6']
sales_product1 = [100, 120, 130, 150, 170, 190]
sales_product2 = [90, 110, 115, 140, 165, 180]

# Vẽ đồ thị
plt.plot(months, sales_product1, marker='o', label='Sản phẩm 1')
plt.plot(months, sales_product2, marker='s', label='Sản phẩm 2')

# Chú thích
plt.xlabel('Tháng')
plt.ylabel('Doanh số (cái)')
plt.title('Mức tăng trưởng doanh số sản phẩm')
plt.legend(loc='upper left')

# Cài đặt chú thích
for i, txt in enumerate(sales_product1):
    plt.annotate(txt, (months[i], sales_product1[i]), textcoords="offset points", xytext=(0,10), ha='center')

for i, txt in enumerate(sales_product2):
    plt.annotate(txt, (months[i], sales_product2[i]), textcoords="offset points", xytext=(0,10), ha='center')

# Hiển thị đồ thị
plt.show()

Đúng rồi, chúng ta đã thêm những con số sáng rõ nhỏ bên trên mỗi điểm dữ liệu! Các chú thích như thế này có thể rất hữu ích khi phân tích một lượng lớn dữ liệu hoặc những điểm cần chú ý đặc biệt.

Vậy là, chúng ta đã học xong cách chú thích đồ thị với Matplotlib. Những kỹ năng này sẽ rất hữu ích khi bạn tạo báo cáo hay thuyết trình dữ liệu, nhất là khi mỗi từ đều nặng hơn cả hàng ngàn con số. Tiến lên, hãy vẽ, chú thích và thay đổi thế giới dữ liệu nhé!

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION