Đăng nhập

Bài 30: Vẽ biểu đồ với matplotlib – Biến dữ liệu thành hình ảnh

Bạn đã bao giờ cầm một file Excel vài trăm dòng mà… muốn ngất chưa?

Bảng thì dài, số liệu thì nhiều – đọc mãi cũng chẳng hình dung nổi ai cao ai thấp, tháng nào tăng trưởng, cái gì đang vượt trội.

Đó là lúc bạn cần đến biểu đồ – một “tấm bản đồ trực quan” giúp bạn nhìn ra điều ẩn sau con số. Và trong Python, vũ khí bí mật để làm điều đó chính là matplotlib.

Bạn không cần Photoshop, không cần PowerPoint – chỉ cần một đoạn mã nhỏ là:

✅ Có ngay biểu đồ cột đẹp để so sánh điểm số
✅ Vẽ biểu đồ đường để thấy xu hướng tăng giảm doanh thu
✅ Vẽ biểu đồ tròn để báo cáo tỷ lệ phần trăm
✅ Và quan trọng: tự động hóa tất cả trong vài giây

Trong bài này, mình sẽ dắt bạn đi từng bước thật rõ ràng, để bạn không chỉ biết vẽ, mà còn hiểu tại sao mình đang vẽ – và biểu đồ đó giúp được gì cho công việc thực tế.


Dữ liệu không chỉ để đọc, mà để nhìn

Bạn có thể đọc bảng điểm, nhưng một biểu đồ cột sẽ cho thấy ngay ai cao, ai thấp. Bạn có thể đọc doanh số theo tháng, nhưng biểu đồ đường sẽ cho bạn thấy xu hướng tăng hay giảm.

Khi làm việc với dữ liệu, không thể thiếu kỹ năng vẽ biểu đồ.


Mục tiêu bài học

  • Làm quen với thư viện matplotlib.pyplot
  • Vẽ biểu đồ cột, đường, tròn
  • Thêm nhãn, tiêu đề, màu sắc
  • Lưu biểu đồ thành ảnh
  • Kết hợp với pandas để vẽ biểu đồ từ bảng dữ liệu

1. Cài thư viện (nếu cần)

pip install matplotlib

2. Import thư viện

import matplotlib.pyplot as plt

3. Biểu đồ cột (Bar Chart)

ten = ["Nam", "Linh", "Tùng"]
diem = [8.5, 9.0, 7.5]

plt.bar(ten, diem, color="skyblue")
plt.title("Điểm thi học sinh")
plt.xlabel("Tên")
plt.ylabel("Điểm")
plt.ylim(0, 10)
plt.show()

4. Biểu đồ đường (Line Chart)

thang = [1, 2, 3, 4, 5]
doanh_so = [100, 150, 130, 170, 200]

plt.plot(thang, doanh_so, marker="o", color="green")
plt.title("Doanh số theo tháng")
plt.xlabel("Tháng")
plt.ylabel("Triệu đồng")
plt.grid(True)
plt.show()

5. Biểu đồ tròn (Pie Chart)

labels = ["Python", "JavaScript", "Java", "C++"]
ty_le = [40, 25, 20, 15]

plt.pie(ty_le, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("Ngôn ngữ được yêu thích")
plt.axis("equal")  # Tròn đều
plt.show()

6. Lưu biểu đồ thành ảnh

plt.savefig("bieu_do.png")

📌 Gọi plt.savefig(...) trước plt.show()


7. Kết hợp với pandas

import pandas as pd

df = pd.read_excel("diem_thi.xlsx")

plt.bar(df["Tên"], df["Điểm"], color="orange")
plt.title("Biểu đồ điểm thi")
plt.xlabel("Học sinh")
plt.ylabel("Điểm")
plt.ylim(0, 10)
plt.show()

8. Bài tập luyện tập

Bài 1: Vẽ biểu đồ cột so sánh doanh số 6 tháng đầu năm
Bài 2: Vẽ biểu đồ tròn tỷ lệ sản phẩm bán ra theo nhóm (dữ liệu giả lập)
Bài 3: Đọc file report.xlsx từ bài trước, vẽ biểu đồ top 5 người có lương cao nhất


Bạn đã học được

  • Vẽ biểu đồ cột, đường, tròn bằng matplotlib
  • Gắn nhãn, tiêu đề, màu sắc, tùy biến trục
  • Kết hợp dữ liệu từ pandas để tự động hóa biểu đồ
  • Lưu thành ảnh để dùng trong báo cáo

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.