1. Khái niệm và ứng dụng của biểu đồ tròn
Biểu đồ tròn, hay còn gọi là "biểu đồ bánh", giúp hiển thị kích thước tương đối của các phần trong một tổng thể. Nếu bạn từng hỏi 10 đứa bạn về ngôn ngữ lập trình yêu thích của chúng và muốn biểu diễn kết quả này trên một đồ thị, thì biểu đồ tròn chính là lựa chọn hoàn hảo. Nó rất phù hợp để minh họa các thành phần của một cái gì đó, ví dụ như thị phần của các công ty hoặc phân bổ thời gian hàng ngày giữa lập trình và xem video mèo đáng yêu.
Sử dụng hàm pie()
để tạo biểu đồ tròn
Matplotlib cung cấp một hàm tuyệt vời là pie()
làm cho việc tạo biểu đồ tròn cực kỳ đơn giản!
Dưới đây là ví dụ cơ bản:
import matplotlib.pyplot as plt
# Dữ liệu cho biểu đồ
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10] # Tỷ lệ phần trăm
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue'] # Màu sắc của từng phần
# Vẽ biểu đồ
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
# Đặt trục cho biểu đồ tròn
plt.axis('equal')
# Hiển thị biểu đồ
plt.show()
Trong ví dụ này, chúng ta đã định nghĩa các danh mục (ngôn ngữ lập trình), kích thước của chúng và màu sắc được sử dụng. Sau đó gọi hàm pie()
để tạo biểu đồ. Tham số autopct='%1.1f%%'
thêm tỷ lệ phần trăm lên các phần, còn startangle=140
xoay biểu đồ để trông đẹp hơn.
2. Tùy chỉnh biểu đồ tròn
Biểu đồ tròn giống như bộ quần áo tết — bạn có thể trang trí và tùy chỉnh nó theo ý thích. Hãy cùng tìm hiểu một số cách để làm điều này.
Hiển thị phần trăm autopct
Tham số autopct
cho phép hiển thị tỷ lệ phần trăm của mỗi danh mục bên trong từng phần. Giá trị "%1.1f%%"
định dạng hiển thị với một số thập phân sau dấu phẩy.
import matplotlib.pyplot as plt
labels = ["Mèo", "Chó", "Chim", "Cá"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("Sự phổ biến của thú cưng")
plt.show()
Làm nổi bật một phần của biểu đồ explode
Tham số explode
cho phép làm nổi bật một hoặc nhiều phần bằng cách di chuyển chúng ra khỏi trung tâm. Điều này rất hữu ích để nhấn mạnh vào một danh mục cụ thể.
import matplotlib.pyplot as plt
labels = ["Mèo", "Chó", "Chim", "Cá"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0) # Làm nổi bật phần đầu tiên (Mèo)
plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("Sự phổ biến của thú cưng")
plt.show()
Ở đây, phần "Mèo" được di chuyển ra khỏi trung tâm 10% (giá trị 0.1
), thu hút sự chú ý.
Thay đổi màu sắc của các phần colors
Bạn có thể đặt màu sắc cho từng phần bằng tham số colors
, truyền danh sách các màu sắc.
import matplotlib.pyplot as plt
labels = ["Mèo", "Chó", "Chim", "Cá"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("Sự phổ biến của thú cưng")
plt.show()
Trong ví dụ này, mỗi phần được gán một màu sắc, giúp cải thiện trải nghiệm trực quan.
Thay đổi góc bắt đầu startangle
Tham số startangle
đặt góc bắt đầu của biểu đồ. Điều này có thể giúp đặt phần chính vào một vị trí cụ thể, ví dụ, ở phía trên biểu đồ.
import matplotlib.pyplot as plt
labels = ["Mèo", "Chó", "Chim", "Cá"]
sizes = [35, 30, 20, 15]
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("Sự phổ biến của thú cưng")
plt.show()
Tham số startangle=90
xoay biểu đồ để phần đầu tiên bắt đầu từ góc 90 độ (thẳng đứng lên trên).
3. Ví dụ thực tế
Mặc dù biểu đồ tròn là một công cụ cổ điển, chúng không phù hợp cho tất cả các trường hợp. Nếu bạn có quá nhiều phần nhỏ hoặc dữ liệu khó nhận thức trên biểu đồ vòng, có lẽ bạn nên chọn loại hình trực quan khác, chẳng hạn như biểu đồ cột. Hãy luôn nghĩ về tính dễ đọc và trách nhiệm với người xem của bạn.
Ví dụ: Phân tích thị trường theo các phân khúc
Giả sử chúng ta có dữ liệu về phân bổ thị phần giữa bốn công ty và muốn tạo một biểu đồ tròn để minh họa.
import matplotlib.pyplot as plt
# Dữ liệu thị phần
labels = ["Công ty A", "Công ty B", "Công ty C", "Công ty D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0) # Làm nổi bật phần của Công ty A
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("Phân bổ thị phần")
plt.show()
Biểu đồ này hiển thị thị phần của các công ty và làm nổi bật phần của Công ty A, nhấn mạnh vị trí dẫn đầu của nó trên thị trường.
Mẹo hữu ích khi tạo biểu đồ tròn
- Hạn chế số lượng danh mục: Biểu đồ tròn hiệu quả khi có ít danh mục. Nếu danh mục quá nhiều, đồ thị sẽ khó đọc.
- Thêm phần trăm: Hiển thị giá trị phần trăm trên các phần giúp người xem dễ hiểu dữ liệu hơn.
- Sử dụng làm nổi bật (explode): Làm nổi bật các danh mục quan trọng để thu hút sự chú ý.
- Bảng màu: Sử dụng màu sắc dễ phân biệt, đặc biệt nếu biểu đồ có nhiều hơn bốn danh mục.
- Xem xét các lựa chọn thay thế: Với số lượng danh mục lớn, biểu đồ tròn nên được thay thế bằng biểu đồ cột hoặc histogram.
Sử dụng bài học nhỏ này về biểu đồ tròn để nâng cao kỹ năng sử dụng Matplotlib của bạn. Đây là một bước để trở thành bậc thầy trực quan hóa dữ liệu, người có thể kể bất kỳ câu chuyện nào qua các đồ thị và biểu đồ. Chúc may mắn và mong rằng các biểu đồ của bạn luôn ngon mắt! 🍕
GO TO FULL VERSION