Bài 10.25. Vẽ biểu đồ cột
Nội dung bài học
- Giới thiệu về biểu đồ cột trong Python
- Cài đặt modul matplotlib
- Vẽ biểu đồ
- Thiết lập nhãn, tiêu đề, vị trí nhãn
- Thiết lập màu cho các cột
- Thiết lập độ rộng của cột
- Thêm lưới cho biểu đồ
- Chụp màn hình và lưu biểu đồ
Giới thiệu về biểu đồ cột trong Python
- Python có nhiều hỗ trợ cho việc vẽ các loại biểu đồ khác nhau: biểu đồ cột, đường, quạt…
- Để vẽ biểu đồ ta sử dụng module matplotlib.
- Biểu đồ cột giúp ta thể hiện các chỉ số trong bản thống kê một cách trực quan, sinh động.
- Sử dụng hàm bar() của module matplotlib để vẽ biểu đồ cột.
Cài đặt modul matplotlib
- Nếu bạn chưa cài đặt module matplotlib ta cần cài đặt nó trước khi có thể vẽ bất kì loại biểu đồ nào.
- Có 2 cách để cài module trên:
- Cách 1: bạn mở tab terminal của công cụ Pycharm hoặc tương ứng lên, gõ: pip install matplotlib và nhấn phím enter chờ cài xong.
- Cách 2: bạn gõ lệnh: import matplotlib as mp sau đó trỏ chuột lên chỗ gạch chân màu đỏ nhấn install package/modul matplotlib.
- Sau khi cài đặt bạn gõ lệnh: print(matplotlib.__version__) để kiểm tra nếu ra kết quả ví dụ 5.x.y thì đã cài thành công.
- Tiếp theo ta đến bước vẽ biểu đồ.
Vẽ biểu đồ
- Để vẽ thành công biểu đồ, ta cần có 2 mảng dữ liệu thể hiện lên trục x, y của hệ tọa độ của cửa sổ.
- Dữ liệu đầu vào phải là đối tượng numpy.array để đảm bảo hoạt động như mong muốn.
- Dữ liệu đầu vào cho cả trục x và y nên tương quan về số bộ dữ liệu theo cặp.
- Code mẫu:
# Giới thiệu về biểu đồ cột trong python
# Cài đặt module
# Vẽ biểu đồ
# Thiết lập nhãn, tiêu đề, vị trí tiêu đề
# Thiết lập màu cho cột
# Thiết lập độ rộng của cột
# Thêm lưới cho biểu đồ
# Chụp màn hình biểu đồ và lưu lại
import matplotlib.pyplot as plt
import matplotlib.pylab as pl
import numpy as np
months = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
incomes = np.array([39.6, 47.2, 55.4, 66.6, 45.7, 96.3, 54.8, 80.1, 72.5, 60.4, 74.6, 98.5])
index = np.arange(len(months))
# plt.bar(x=months, height=incomes, color=['#800080', '#5d3fd3'])
# plt.title('Thu nhập năm 2025 của tôi')
# plt.ylabel('Thu nhập')
# plt.xlabel('Tháng')
# plt.xticks(months, months)
fig, ax = plt.subplots()
ax.set_title('Thu nhập năm 2025')
ax.set_ylabel('Thu nhập')
ax.set_xlabel('Tháng')
ax.bar(index, incomes, color=['#800080', '#5d3fd3'])
ax.bar_label(ax.containers[0])
ax.set_xticks(index, months)
# set figure size
fig.set_figwidth(7)
fig.set_figheight(5)
# set figure title
f = pl.gcf()
f.canvas.manager.set_window_title('My Income')
# add grid
plt.grid(color='green', linestyle='--', linewidth=0.5)
plt.show()
Thiết lập nhãn, tiêu đề, vị trí nhãn
- Để thiết lập tiêu đề ta gọi hàm title().
- Để thiết lập nhãn cho trục x, gọi hàm xlabel().
- Để thiết lập nhãn cho trục y, gọi hàm ylabel().
- Để thiết lập nhãn thành phần cho trục x, dùng xticks().
- Ví dụ:
plt.title('Thu nhập năm 2025 của tôi')
plt.ylabel('Thu nhập')
plt.xlabel('Tháng')
plt.xticks(months, months)
- Hoặc:
fig, ax = plt.subplots()
ax.set_title('Thu nhập năm 2025')
ax.set_ylabel('Thu nhập')
ax.set_xlabel('Tháng')
ax.bar(index, incomes, color=['#800080', '#5d3fd3'])
ax.bar_label(ax.containers[0])
ax.set_xticks(index, months)
# set figure size - thiết lập kích thước mong muốn cho cửa sổ
fig.set_figwidth(7)
fig.set_figheight(5)
- Để thiết lập tiêu đề cho cửa sổ ta dùng cú pháp:
f = pl.gcf()
f.canvas.manager.set_window_title('My Income')
Thiết lập màu cho các cột
- Để thiết lập màu, ta chỉ định đối số color của hàm bar().
- Ta có thể sử dụng 1 hoặc nhiều màu liệt kê trong một list.
- Giá trị màu có thể là tên màu, tên viết tắt của màu hoặc mã màu dạng hexa.
- Ví dụ:
ax.bar(index, incomes, color=['#800080', '#5d3fd3'])
plt.bar(x=months, height=incomes, color=['#800080', '#5d3fd3'])
Thiết lập độ rộng của cột
- Độ rộng mặc định của mỗi cột là 0.8.
- Ta có thể thay đổi độ rộng của cột qua đối số width trong hàm bar().
- Ví dụ:
ax.bar(index, incomes, color=['#800080', '#5d3fd3'], width=0.3)
Thêm lưới cho biểu đồ
- Để thêm lưới cho biểu đồ ta sử dụng hàm grid().
- Trong đó cho phép thay đổi màu của lưới, kiểu lưới, độ rộng của nét vẽ của lưới…
- Ví dụ:
grid(color='green', linestyle='--', linewidth=0.5)
Chụp màn hình và lưu biểu đồ
- Để chụp màn hình ta nhấn vào biểu tượng phía góc phải cùng ở đáy cửa sổ kết quả và chọn thư mục, đặt tên để lưu.
- Kết quả minh họa(không vẽ lưới):