TÓM TẮT
- 1 Mở Đầu
- 2 1. Đồ Thị Cột Là Gì? Đặc Điểm Và Ứng Dụng
- 3 2. Chuẩn Bị Dữ Liệu – Nền Tảng Của Mọi Đồ Thị
- 4 3. Lựa Chọn Công Cụ Vẽ Đồ Thị
- 5 4. Hướng Dẫn Vẽ Đồ Thị Cột Bằng Excel
- 6 5. Vẽ Đồ Thị Cột Bằng Python – Seaborn
- 7 6. Vẽ Đồ Thị Cột Bằng R – ggplot2
- 8 7. Những Lỗi Thường Gặp Khi Vẽ Đồ Thị Cột Và Cách Khắc Phục
- 9 8. Thiết Kế Đồ Thị Cột Đẹp – Nguyên Tắc Thẩm Mỹ
- 10 9. Ứng Dụng Thực Tế – 5 Ví Dụ Cụ Thể
- 11 10. Tự Động Hóa Quy Trình Vẽ Đồ Thị Cột
- 12 11. Kiểm Tra Và Đánh Giá Độ Tin Cậy Của Đồ Thị
- 13 12. Tổng Kết
Mở Đầu
Đồ thị cột (bar chart) là một trong những công cụ trực quan mạnh mẽ nhất giúp chúng ta so sánh dữ liệu một cách nhanh chóng và dễ hiểu. Dù bạn là sinh viên, nhà nghiên cứu, nhà quản lý hay một người làm Marketing, việc biết cách vẽ đồ thị cột chuẩn sẽ giúp bạn truyền tải thông tin một cách hiệu quả, tránh những hiểu lầm không đáng có. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ các khái niệm cơ bản, các bước chuẩn bị dữ liệu, lựa chọn công cụ, tới các kỹ thuật nâng cao để làm cho đồ thị cột của bạn trở nên chuyên nghiệp và ấn tượng.
1. Đồ Thị Cột Là Gì? Đặc Điểm Và Ứng Dụng
1.1. Định Nghĩa
Đồ thị cột là biểu đồ dùng các cột (thanh) đứng hoặc nằm ngang để biểu diễn giá trị số của các mục dữ liệu khác nhau. Mỗi cột có độ cao (hoặc độ dài) tương ứng với giá trị mà nó đại diện, và các cột thường được đặt cạnh nhau để dễ dàng so sánh.
1.2. Các Loại Đồ Thị Cột
| Loại | Mô tả | Khi dùng |
|---|---|---|
| Cột đơn (Simple Bar Chart) | Mỗi danh mục chỉ có một cột duy nhất. | So sánh giá trị của các danh mục độc lập. |
| Cột nhóm (Grouped Bar Chart) | Các danh mục được chia thành nhóm, mỗi nhóm có nhiều cột đại diện cho các biến phụ. | So sánh nhiều biến trong cùng một danh mục. |
| Cột chồng (Stacked Bar Chart) | Các phần của cột được xếp chồng lên nhau, tổng chiều cao biểu thị tổng giá trị. | Hiển thị tỷ lệ phần trăm hoặc thành phần của tổng. |
| Cột phần trăm chồng (100% Stacked Bar Chart) | Các cột được chuẩn hoá về 100%, hiển thị tỷ lệ phần trăm của từng thành phần. | So sánh tỷ lệ phần trăm giữa các danh mục. |
| Cột ngang (Horizontal Bar Chart) | Cột được vẽ nằm ngang, thích hợp cho danh sách dài. | Khi danh mục có nhãn dài hoặc số lượng danh mục lớn. |
1.3. Khi Nào Nên Chọn Đồ Thị Cột?
- So sánh giá trị: Khi bạn muốn so sánh giá trị số của các mục khác nhau.
- Thể hiện xu hướng thời gian ngắn: Đối với một vài thời kỳ (không quá nhiều) để tránh rối mắt.
- Phân tích thành phần: Khi muốn xem phần trăm đóng góp của các thành phần vào tổng thể (cột chồng).
2. Chuẩn Bị Dữ Liệu – Nền Tảng Của Mọi Đồ Thị
2.1. Định Dạng Dữ Liệu

Có thể bạn quan tâm: Cách Vẽ Đồ Thị Bonjean: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
| Cột | Nội Dung | Ghi chú |
|---|---|---|
| Category | Tên danh mục (ví dụ: Tháng, Sản phẩm) | Dạng chuỗi văn bản |
| Series 1 | Giá trị của biến 1 | Số nguyên hoặc thập phân |
| Series 2 | Giá trị của biến 2 (nếu có) | Số nguyên hoặc thập phân |
| … | … | Có thể có nhiều series tùy nhu cầu |
Ví dụ (định dạng CSV):
Tháng,Doanh thu,Chi phí
Jan,12000,8000
Feb,15000,9000
Mar,13000,8500
2.2. Kiểm Tra và Làm Sạch Dữ Liệu
- Loại bỏ giá trị thiếu (Missing Values): Thay thế bằng trung bình, 0 hoặc loại bỏ toàn bộ hàng tùy thuộc vào ngữ cảnh.
- Kiểm tra kiểu dữ liệu: Đảm bảo cột “Category” là kiểu chuỗi, các cột giá trị là số.
- Xác định số lượng danh mục: Nếu danh mục quá nhiều (hơn 30), cân nhắc dùng cột ngang hoặc giảm số lượng bằng cách gộp lại.
2.3. Đặt Câu Hỏi Phân Tích
Trước khi vẽ, hãy xác định mục tiêu:
- Câu hỏi: “Tháng nào có doanh thu cao nhất?” → Cột đơn.
- Câu hỏi: “Doanh thu và chi phí của từng tháng so sánh như thế nào?” → Cột nhóm.
- Câu hỏi: “Chi phí chiếm bao nhiêu phần trăm doanh thu mỗi tháng?” → Cột chồng hoặc 100% stacked.
3. Lựa Chọn Công Cụ Vẽ Đồ Thị
3.1. Excel / Google Sheets
- Ưu điểm: Dễ dùng, nhanh chóng, không cần lập trình.
- Nhược điểm: Hạn chế trong tùy chỉnh chi tiết, không tốt cho dữ liệu lớn.
3.2. Python (Matplotlib, Seaborn, Plotly)
- Matplotlib: Cơ bản, linh hoạt, phù hợp cho đồ thị tĩnh.
- Seaborn: Đẹp hơn, có sẵn theme, dễ vẽ cột nhóm và chồng.
- Plotly: Đồ thị tương tác, đẹp mắt, hỗ trợ web.
3.3. R (ggplot2)
- ggplot2: Quy tắc “Grammar of Graphics”, mạnh mẽ trong việc tùy chỉnh và tạo đồ thị đa lớp.
3.4. Power BI / Tableau
- Ưu điểm: Tích hợp dashboard, tương tác người dùng.
- Nhược điểm: Cần bản quyền, học curve.
Khuyên dùng: Đối với người mới, bắt đầu với Excel/Google Sheets. Khi cần tùy chỉnh sâu hoặc làm báo cáo tự động, chuyển sang Python (Seaborn/Plotly) hoặc R (ggplot2).
4. Hướng Dẫn Vẽ Đồ Thị Cột Bằng Excel

Có thể bạn quan tâm: Cách Vẽ Đồ Dota 2: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
4.1. Bước 1: Nhập Dữ Liệu
- Mở Excel, nhập dữ liệu vào bảng như ví dụ ở mục 2.1.
- Đảm bảo tiêu đề cột nằm ở hàng đầu tiên.
4.2. Bước 2: Chọn Dữ Liệu và Chèn Đồ Thị
- Chọn vùng dữ liệu (bao gồm tiêu đề).
- Vào tab Insert → Bar Chart → Chọn Clustered Column (cột nhóm) hoặc Stacked Column tùy mục đích.
4.3. Bước 3: Định Dạng Đồ Thị
- Tiêu đề: Click vào “Chart Title” → Gõ tiêu đề mô tả ngắn gọn.
- Trục X/Y: Định dạng font, góc nghiêng nhãn nếu quá dài.
- Màu sắc: Click vào cột → Format Data Series → Chọn màu phù hợp (đồng nhất hoặc phân biệt theo series).
- Hiện giá trị: Right‑click vào cột → Add Data Labels → Đặt vị trí “Inside End” hoặc “Outside End”.
4.4. Bước 4: Tinh Chỉnh Chi Tiết
| Tùy Chỉnh | Cách Thực Hiện |
|---|---|
| Thêm lưới (Gridlines) | Chart Tools → Layout → Gridlines → Primary Major Horizontal |
| Thay đổi khoảng cách giữa các cột | Format Data Series → Gap Width (giảm % để cột dày hơn) |
| Thêm chú giải (Legend) | Chart Tools → Layout → Legend → Right/Bottom |
| Đánh dấu đường trung bình | Add → Trendline → Choose “Moving Average” (nếu cần) |
4.5. Bước 5: Xuất File
- Copy-Paste: Vào PowerPoint hoặc Word.
- Save As Image: Right‑click → Save as Picture → PNG/JPEG.
- Export PDF: File → Save As → PDF.
5. Vẽ Đồ Thị Cột Bằng Python – Seaborn
5.1. Cài Đặt Thư Viện
pip install pandas seaborn matplotlib
5.2. Chuẩn Bị Dữ Liệu

Có thể bạn quan tâm: Cách Vẽ Đồ Họa Nhân Vật Tanjiro – Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
import pandas as pd data = { 'Tháng': 'Jan', 'Feb', 'Mar', 'Apr', 'Doanh thu': 12000, 15000, 13000, 16000, 'Chi phí': 8000, 9000, 8500, 9500
}
df = pd.DataFrame(data)
5.3. Vẽ Cột Nhóm
import seaborn as sns
import matplotlib.pyplot as plt # Đổi dạng dữ liệu sang “long format” để Seaborn dễ vẽ
df_long = pd.melt(df, id_vars='Tháng', var_name='Loại', value_name='Giá trị') plt.figure(figsize=(10,6))
sns.barplot(x='Tháng', y='Giá trị', hue='Loại', data=df_long, palette='Set2')
plt.title('Doanh thu và Chi phí theo Tháng')
plt.ylabel('Số tiền (USD)')
plt.xlabel('Tháng')
plt.legend(title='Loại')
plt.tight_layout()
plt.show()
5.4. Vẽ Cột Chồng
plt.figure(figsize=(10,6))
sns.barplot(x='Tháng', y='Giá trị', hue='Loại', data=df_long, palette='Set3', dodge=False) # dodge=False tạo cột chồng
plt.title('Chi phí và Doanh thu (Cột Chồng)')
plt.ylabel('Số tiền (USD)')
plt.xlabel('Tháng')
plt.legend(title='Loại')
plt.tight_layout()
plt.show()
5.5. Tùy Chỉnh Thêm
- Thêm nhãn giá trị:
ax = sns.barplot(...)
for p in ax.patches: ax.annotate(f'{p.get_height():,.0f}', (p.get_x() + p.get_width() / 2., p.get_height()), ha='center', va='bottom', fontsize=9, color='black')
- Thay đổi màu sắc:
palette='viridis'hoặc truyền danh sách màu'#1f77b4', '#ff7f0e'.
5.6. Lưu Đồ Thị
plt.savefig('doanhthu_chiphithang.png', dpi=300, bbox_inches='tight')
6. Vẽ Đồ Thị Cột Bằng R – ggplot2
6.1. Cài Đặt Gói
install.packages("ggplot2")
install.packages("reshape2")
6.2. Chuẩn Bị Dữ Liệu
library(ggplot2)
library(reshape2) df <- data.frame( Thang = c('Jan','Feb','Mar','Apr'), Doanhthu = c(12000,15000,13000,16000), Chiphi = c(8000,9000,8500,9500)
) df_long <- melt(df, id.vars = 'Thang', variable.name = 'Loai', value.name = 'GiaTri')
6.3. Cột Nhóm
ggplot(df_long, aes(x = Thang, y = GiaTri, fill = Loai)) + geom_bar(stat = "identity", position = position_dodge()) + labs(title = "Doanh thu và Chi phí theo Tháng", y = "Số tiền (USD)", x = "Tháng") + theme_minimal() + scale_fill_brewer(palette = "Pastel1")
6.4. Cột Chồng

Có thể bạn quan tâm: Cách Vẽ Đồ Chơi 3d: Hướng Dẫn Từ Cơ Bản Đến Nâng Cao Cho Người Mới Bắt Đầu
ggplot(df_long, aes(x = Thang, y = GiaTri, fill = Loai)) + geom_bar(stat = "identity") + # Mặc định là stacked labs(title = "Chi phí và Doanh thu (Cột Chồng)", y = "Số tiền (USD)", x = "Tháng") + theme_minimal() + scale_fill_brewer(palette = "Set2")
6.5. Cột 100% Stacked
ggplot(df_long, aes(x = Thang, y = GiaTri, fill = Loai)) + geom_bar(position = "fill", stat = "identity") + labs(title = "Tỷ lệ Chi phí / Doanh thu (100% Stacked)", y = "Tỷ lệ", x = "Tháng") + scale_y_continuous(labels = scales::percent) + theme_minimal()
7. Những Lỗi Thường Gặp Khi Vẽ Đồ Thị Cột Và Cách Khắc Phục
| Lỗi | Nguyên Nhân | Cách Khắc Phục |
|---|---|---|
| Cột quá dày, chồng lên nhau | Gap Width quá thấp hoặc dữ liệu quá ít. | Tăng Gap Width hoặc giảm số cột trong một nhóm. |
| Nhãn trục X bị cắt | Độ dài nhãn quá dài, hoặc font quá lớn. | Xoay nhãn (45°), rút ngắn nhãn, hoặc dùng cột ngang. |
| Màu sắc không phân biệt | Sử dụng màu tương đồng cho các series. | Chọn palette có độ tương phản cao (ColorBrewer, viridis). |
| Không hiển thị giá trị | Data Labels chưa bật hoặc bị che. | Bật Data Labels, điều chỉnh vị trí “Inside End”. |
| Trục Y không bắt đầu từ 0 | Excel tự động cắt trục để làm nổi bật sự khác biệt. | Kiểm tra “Axis Options” → Set Minimum = 0 (trừ khi có lý do đặc biệt). |
| Số lượng danh mục quá nhiều | Đồ thị trở nên rối mắt, không đọc được. | Dùng cột ngang, hoặc lọc/nhóm lại các danh mục. |
8. Thiết Kế Đồ Thị Cột Đẹp – Nguyên Tắc Thẩm Mỹ
- Giữ Đơn Giản: Tránh quá nhiều màu, đường viền, hoặc hiệu ứng 3D. Đơn giản giúp người xem tập trung vào dữ liệu.
- Màu Sắc Có Ý Nghĩa: Dùng màu xanh để biểu thị tăng trưởng, màu đỏ để biểu thị giảm, hoặc màu trung tính cho các nhóm phụ.
- Cân Bằng Không Gian: Đảm bảo khoảng cách hợp lý giữa các cột, tránh “đông đúc”.
- Nhãn Rõ Ràng: Đặt tiêu đề, nhãn trục, chú giải, và giá trị trên cột để người xem không phải đoán.
- Sử Dụng Font Đọc Dễ: Sans-serif (Arial, Calibri) thường tốt cho đồ thị trên màn hình.
- Tối Ưu Kích Thước: Đối với báo cáo in, độ rộng khoảng 12–15 cm, chiều cao 8–10 cm là hợp lý.
9. Ứng Dụng Thực Tế – 5 Ví Dụ Cụ Thể
9.1. Bán Hàng: So Sánh Doanh Thu Các Sản Phẩm
- Mục tiêu: Xác định sản phẩm bán chạy nhất trong quý.
- Loại đồ thị: Cột đơn, màu sắc mỗi sản phẩm khác nhau.
- Kết quả: Dễ dàng thấy “Sản phẩm A” chiếm 35% tổng doanh thu.
9.2. Nhân Sự: Đánh Giá Số Lượng Nhân Viên Theo Phòng Ban
- Mục tiêu: Kiểm tra sự cân đối nhân lực.
- Loại đồ thị: Cột ngang, nhãn dài (phòng ban) hiển thị tốt.
- Kết quả: Phòng “Kỹ thuật” có 45 người, gấp đôi “Marketing”.
9.3. Giáo Dục: Thành Tích Học Sinh Các Lớp
- Mục tiêu: So sánh điểm trung bình của các lớp.
- Loại đồ thị: Cột nhóm, mỗi cột đại diện cho môn học (Toán, Văn, Anh).
- Kết quả: Lớp 10A có điểm Toán cao nhất.
9.4. Y Tế: Tỷ Lệ Bệnh Nhân Theo Độ Tuổi

- Mục tiêu: Phân bố bệnh nhân trong các nhóm tuổi.
- Loại đồ thị: Cột chồng, hiển thị tỷ lệ nam/nữ.
- Kết quả: Nhóm 60‑70 tuổi chiếm 40% tổng số bệnh nhân.
9.5. Marketing: Hiệu Quả Chiến Dịch Quảng Cáo
- Mục tiêu: Đánh giá lượt click và conversion cho 3 kênh.
- Loại đồ thị: 100% stacked bar, thể hiện tỷ lệ chuyển đổi.
- Kết quả: Kênh “Facebook” có tỷ lệ chuyển đổi 12%, cao nhất.
10. Tự Động Hóa Quy Trình Vẽ Đồ Thị Cột
10.1. Sử Dụng Python Script Định Kỳ
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import schedule, time def draw_chart(): df = pd.read_csv('sales_monthly.csv') df_long = pd.melt(df, id_vars='Month', var_name='Metric', value_name='Value') plt.figure(figsize=(12,6)) sns.barplot(x='Month', y='Value', hue='Metric', data=df_long) plt.title('Doanh thu và Chi phí tháng') plt.savefig('monthly_report.png') print('Chart updated!') schedule.every().day.at("08:00").do(draw_chart) while True: schedule.run_pending() time.sleep(60)
- Lợi ích: Cập nhật đồ thị mỗi ngày tự động, gửi email kèm báo cáo.
10.2. Power BI – Refresh Data
- Kết nối nguồn dữ liệu (SQL, CSV, API).
- Tạo visual “Stacked Column Chart”.
- Đặt lịch refresh (hàng giờ, hàng ngày).
11. Kiểm Tra Và Đánh Giá Độ Tin Cậy Của Đồ Thị
- So sánh với bảng số liệu gốc: Đảm bảo tổng và từng giá trị khớp.
- Kiểm tra trục: Đảm bảo không có “trục cắt” (truncated axis) gây hiểu lầm.
- Nhận xét từ người dùng: Thu thập phản hồi để cải thiện cách trình bày.
12. Tổng Kết
Việc vẽ đồ thị cột chuẩn không chỉ là một kỹ năng cơ bản trong phân tích dữ liệu mà còn là nghệ thuật truyền đạt thông tin một cách hiệu quả. Từ việc chuẩn bị dữ liệu sạch sẽ, lựa chọn loại đồ thị phù hợp, đến việc tinh chỉnh màu sắc, nhãn và bố cục, mỗi bước đều góp phần tạo nên một biểu đồ chuyên nghiệp, dễ hiểu và thuyết phục.
Những điểm quan trọng cần ghi nhớ:
- Xác định mục tiêu trước khi chọn loại đồ thị.
- Chuẩn bị dữ liệu theo định dạng “long” cho các công cụ hiện đại.
- Chọn công cụ phù hợp với mức độ phức tạp và yêu cầu tương tác.
- Áp dụng nguyên tắc thiết kế: đơn giản, màu sắc có nghĩa, nhãn rõ ràng.
- Kiểm tra lại để tránh sai lệch và nhận phản hồi để cải thiện.
Bằng cách áp dụng những kiến thức và kỹ thuật trên, bạn sẽ tự tin tạo ra những đồ thị cột không chỉ đáp ứng nhu cầu phân tích mà còn gây ấn tượng mạnh với người xem, dù đó là đồng nghiệp, khách hàng hay ban lãnh đạo. Chúc bạn thành công trong hành trình làm việc với dữ liệu!
