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