Biểu đồ cột là một trong những công cụ trực quan hóa dữ liệu phổ biến nhất, cho phép người dùng dễ dàng so sánh số lượng hoặc giá trị giữa các nhóm khác nhau. Được sử dụng rộng rãi trong các báo cáo, bài thuyết trình và nghiên cứu khoa học, biểu đồ cột giúp tiết lộ mẫu và xu hướng dữ liệu một cách trực quan, từ đó hỗ trợ việc ra quyết định và phân tích dựa trên dữ liệu. Bằng cách sắp xếp các cột đứng cạnh nhau, người xem có thể nhanh chóng nhận ra sự khác biệt giữa các nhóm, làm nổi bật những phát hiện quan trọng từ tập dữ liệu.
Trong thế giới lập trình Python, Matplotlib và Seaborn là hai thư viện trực quan hóa dữ liệu hàng đầu, mỗi thư viện mang lại những lợi ích riêng biệt cho việc tạo biểu đồ cột. Matplotlib, được coi là nền tảng của hầu hết các công cụ trực quan hóa dữ liệu trong Python, cung cấp sự linh hoạt và kiểm soát đến mức tinh tế nhất trong việc tạo các biểu đồ. Với Matplotlib, bạn có thể tùy chỉnh từng chi tiết nhỏ của biểu đồ, từ màu sắc, kích thước, đến font chữ và hơn thế nữa.
Seaborn, một thư viện được xây dựng trên nền tảng của Matplotlib, tập trung vào việc cung cấp một giao diện cao cấp hơn, dễ sử dụng để tạo ra các biểu đồ thống kê đẹp mắt và thông tin. Seaborn cung cấp các API trực quan và dễ hiểu, làm cho việc tạo các biểu đồ phức tạp trở nên đơn giản hơn, cũng như tự động hóa nhiều quy trình thiết kế biểu đồ, giúp người dùng tiết kiệm thời gian và công sức.
Cả Matplotlib và Seaborn đều có khả năng tạo ra các biểu đồ cột mạnh mẽ, nhưng sự khác biệt về cách tiếp cận và mức độ tùy chỉnh mà chúng cung cấp có nghĩa là người dùng có thể chọn thư viện phù hợp nhất với nhu cầu cụ thể của họ. Bằng cách kết hợp sức mạnh của cả hai, bạn có thể tận dụng tốt nhất mọi lợi ích mà chúng mang lại để tạo ra các biểu đồ cột chất lượng cao, giúp truyền đạt dữ liệu của mình một cách hiệu quả nhất.
Cài đặt và Cấu hình
Để bắt đầu tạo biểu đồ cột trong Python, việc đầu tiên là cài đặt và cấu hình các thư viện Matplotlib và Seaborn. Cả hai thư viện này có thể dễ dàng cài đặt qua pip, công cụ quản lý gói tiêu chuẩn của Python, và là bước cần thiết để khám phá sức mạnh trực quan hóa dữ liệu của chúng.
Cài Đặt Matplotlib
Matplotlib có thể được cài đặt thông qua pip bằng cách mở terminal hoặc command prompt và chạy lệnh sau:
pip install matplotlib
Lệnh này sẽ tải xuống và cài đặt Matplotlib cùng với tất cả các phụ thuộc cần thiết. Sau khi quá trình cài đặt hoàn tất, bạn đã sẵn sàng để bắt đầu tạo biểu đồ cùng với Matplotlib.
Cài Đặt Seaborn
Tương tự như Matplotlib, Seaborn cũng có thể được cài đặt dễ dàng thông qua pip. Chạy lệnh sau trong terminal hoặc command prompt:
pip install seaborn
Cài đặt Seaborn tự động bao gồm cả Matplotlib, do Seaborn xây dựng trên nền tảng của Matplotlib và sử dụng nó để vẽ biểu đồ. Tuy nhiên, nếu bạn đã cài đặt Matplotlib trước đó, lệnh này sẽ đảm bảo rằng bạn có phiên bản mới nhất.
Cấu Hình Cơ Bản
Sau khi đã cài đặt xong, bạn có thể bắt đầu sử dụng Matplotlib và Seaborn trong các dự án Python của mình. Đoạn mã Python dưới đây minh họa cách nhập và cấu hình cơ bản của hai thư viện này:
import matplotlib.pyplot as plt import seaborn as sns # Cấu hình cơ bản cho Seaborn sns.set_theme(style="whitegrid") # Chọn theme cho Seaborn # Một ví dụ đơn giản về việc tạo biểu đồ cột với Matplotlib plt.bar(["Group 1", "Group 2", "Group 3"], [1, 3, 2]) plt.show() # Một ví dụ đơn giản về việc tạo biểu đồ cột với Seaborn sns.barplot(x=["Group 1", "Group 2", "Group 3"], y=[1, 3, 2]) plt.show()
Qua đoạn mã trên, bạn có thể thấy cách dễ dàng để bắt đầu tạo biểu đồ cột sử dụng Matplotlib và Seaborn. Bằng cách thiết lập theme
cho Seaborn, bạn có thể nhanh chóng thay đổi toàn bộ bố cục và phong cách của biểu đồ để phù hợp với nhu cầu trực quan hóa dữ liệu của bạn.
Tạo Biểu Đồ Cột với Matplotlib
Matplotlib là một thư viện vẽ đồ họa 2D mạnh mẽ trong Python, cho phép tạo ra nhiều loại biểu đồ với độ tùy chỉnh cao. Đối với việc tạo biểu đồ cột, Matplotlib cung cấp một giao diện đơn giản nhưng linh hoạt, giúp trực quan hóa sự so sánh giữa các nhóm dữ liệu một cách dễ dàng.
Tạo Biểu Đồ Cột Đơn
Để tạo một biểu đồ cột đơn với Matplotlib, bạn có thể sử dụng hàm bar()
với hai tham số chính: các nhãn trục hoành và giá trị tương ứng trên trục tung. Dưới đây là ví dụ minh họa:
import matplotlib.pyplot as plt categories = ['Category 1', 'Category 2', 'Category 3'] values = [10, 20, 15] plt.bar(categories, values, color='skyblue') plt.xlabel('Categories') plt.ylabel('Values') plt.title('Simple Bar Chart') plt.show()
Tạo Biểu Đồ Cột Ghép
Biểu đồ cột ghép cho phép so sánh nhiều tập dữ liệu trên cùng một biểu đồ. Để tạo biểu đồ cột ghép, bạn cần chỉnh sửa vị trí của các cột để chúng không bị chồng lên nhau. Điều này có thể được thực hiện bằng cách sử dụng tham số width
và điều chỉnh vị trí của các cột thủ công:
import numpy as np categories = ['Category 1', 'Category 2', 'Category 3'] values1 = [10, 20, 15] values2 = [12, 18, 10] x = np.arange(len(categories)) width = 0.4 plt.bar(x - width/2, values1, width, label='Set 1', color='skyblue') plt.bar(x + width/2, values2, width, label='Set 2', color='orange') plt.xticks(x, categories) plt.xlabel('Categories') plt.ylabel('Values') plt.title('Grouped Bar Chart') plt.legend() plt.show()
Điều Chỉnh Các Thuộc Tính Biểu Đồ
Matplotlib cho phép điều chỉnh các thuộc tính biểu đồ như màu sắc, nhãn, tiêu đề, và chú giải một cách dễ dàng:
- Màu Sắc: Tham số
color
trong hàmbar()
cho phép bạn thay đổi màu sắc của các cột. - Nhãn: Hàm
xlabel()
vàylabel()
được sử dụng để thêm nhãn cho trục hoành và trục tung. Hàmtitle()
được sử dụng để thêm tiêu đề cho biểu đồ. - Chú Giải: Hàm
legend()
giúp thêm chú giải cho biểu đồ, đặc biệt hữu ích khi biểu đồ có nhiều tập dữ liệu được biểu diễn.
Thông qua việc kết hợp các phương pháp và thuộc tính này, bạn có thể tạo ra các biểu đồ cột mạnh mẽ và trực quan, giúp truyền đạt thông điệp từ dữ liệu của mình một cách hiệu quả.
Tạo Biểu Đồ Cột với Seaborn
Seaborn là một thư viện trực quan hóa dữ liệu trong Python dựa trên Matplotlib, nhưng cung cấp một giao diện cao cấp hơn và dễ sử dụng hơn, giúp tạo ra các biểu đồ thống kê đẹp mắt một cách dễ dàng. Seaborn rất phù hợp cho việc trực quan hóa dữ liệu phân loại và số liệu, đặc biệt hữu ích khi làm việc với biểu đồ cột nhờ vào khả năng xử lý dữ liệu phức tạp và cung cấp các biểu đồ thẩm mỹ mà không cần nhiều mã lệnh.
Tạo Biểu Đồ Cột Đơn Giản với Seaborn
Để tạo biểu đồ cột đơn giản, bạn có thể sử dụng hàm barplot()
của Seaborn. Hàm này tự động tính toán trung bình (hoặc ước lượng thống kê khác nếu được chỉ định) của các giá trị trong mỗi nhóm và vẽ chúng dưới dạng cột:
import seaborn as sns import matplotlib.pyplot as plt # Dữ liệu mẫu categories = ['Category 1', 'Category 2', 'Category 3'] values = [10, 20, 15] # Tạo DataFrame import pandas as pd data = pd.DataFrame({'Category': categories, 'Value': values}) # Vẽ biểu đồ cột sns.barplot(x='Category', y='Value', data=data) plt.title('Simple Bar Chart with Seaborn') plt.show()
Sử Dụng Seaborn để Tạo Biểu Đồ Cột với Dữ Liệu Phân Loại
Seaborn xử lý dữ liệu phân loại một cách trực quan và hiệu quả, cho phép trực quan hóa sự so sánh giữa các nhóm dễ dàng:
# Giả sử `data` chứa cột `Group` để phân biệt nhóm sns.barplot(x='Category', y='Value', hue='Group', data=data) plt.title('Grouped Bar Chart with Seaborn') plt.show()
Khám Phá Các Tính Năng Nâng Cao của Seaborn
Styling và Palette Màu: Seaborn cho phép bạn dễ dàng thay đổi theme và palette màu của biểu đồ thông qua các hàm như set_theme()
và set_palette()
.
sns.set_theme(style="whitegrid") sns.set_palette("pastel") # Sau đó vẽ biểu đồ cột như đã hướng dẫn
Biểu Đồ Cột Ghép Nâng Cao: Để tạo biểu đồ cột ghép nâng cao, bạn có thể kết hợp nhiều biểu đồ cột hoặc sử dụng các tính năng như FacetGrid
để phân tích dữ liệu theo nhiều biến phân loại.
g = sns.FacetGrid(data, col="Group", height=4, aspect=.7) g.map(sns.barplot, "Category", "Value")
Sử dụng Seaborn cho biểu đồ cột không chỉ giúp giảm bớt gánh nặng về mã lệnh cần thiết để tạo ra các biểu đồ đẹp và thông tin, mà còn mở ra cánh cửa cho các phân tích dữ liệu phức tạp và trực quan hóa một cách dễ dàng.
Xem thêm Phân tích SAS Bland-Altman
Ví dụ về Biểu đồ Python
Hãy bắt đầu với một Ví dụ về Biểu đồ Matplotlib đơn giản .
import seaborn as sn df=sn.load_dataset('iris') sn.distplot(df['sepal_length']) import matplotlib.pyplot as plt plt.show()
sn.distplot(df['sepal_length'],bins=25) lt.show()
Để lập biểu đồ này mà không có Seaborn, chúng ta có thể làm như sau
import numpy as np from matplotlib import colors from matplotlib.ticker import PercentFormatter np.random.seed(19720810) N=100000 n_bins=20 x=np.random.randn(N) y=.7*x+np.random.randn(100000)+7 fig,axs=plt.subplots(1,2,sharey=True,tight_layout=True) axs[0].hist(x,bins=n_bins) axs[1].hist(y,bins=n_bins) plt.show()
Chỉ hiển thị Biểu đồ
Chúng ta có thể chọn hiển thị hoặc ẩn Biểu đồ Python, tấm thảm và mật độ hạt nhân. Bây giờ hãy thử chỉ hiển thị Biểu đồ Python.
Hãy sửa đổi Python Web Framework
sn.distplot(a=df['sepal_length'],hist=True,kde=False,rug=False) plt.show()
Xem thêm Phân tích dữ liệu đồ họa với lập trình R
Hiển thị Histogram, Rug và Kernel Density
Bây giờ chúng ta hãy thử hiển thị cả ba.
sn.distplot(a=df['sepal_length'],hist=True,kde=True,rug=True) plt.show()
Tùy chỉnh Rug
Hãy đặt tấm thảm thành màu đỏ.
sn.distplot(a=df['sepal_length'],rug=True,rug_kws={'color':'r','alpha':0.35,'linewidth':5})
Tùy chỉnh density distribution
Sử dụng các từ khóa cho mật độ nhân, chúng ta có thể tùy chỉnh phân bố mật độ.
sn.distplot(a=df['sepal_length'],kde=True,kde_kws={'color':'r','alpha':0.35,'linewidth':5})
Biểu đồ Python dọc
Bây giờ chúng ta hãy thử tạo một Biểu đồ Python dọc.
Hãy cùng tìm hiểu về Python Numpy
sn.distplot(df['sepal_length'],color='lightpink',vertical=True)
Biểu đồ Python với nhiều biến
Chúng ta có thể xem cùng nhau các biểu đồ cho nhiều biến số.
sn.distplot(df['sepal_length'],color='skyblue',label='Sepal length') sn.distplot(df['sepal_width'],color='lightpink',label='Sepal width')
Ví dụ về Python Bar Plot
Hãy lấy một ví dụ nhanh về Biểu đồ thanh Matplotlib .
import numpy as np import matplotlib.pyplot as plt marks=[79,45,22,89,95] bars=('Roll 1','Roll 2','Roll 3','Roll 4','Roll 5') y=np.arange(len(bars)) plt.bar(y,marks,color='g')
Đặt một màu khác nhau cho mỗi thanh
Hãy thử năm màu sắc khác nhau cho các thanh.
plt.bar(y,marks,color=['cyan','skyblue','lightpink','brown','black']) plt.xticks(y,bars)
Đặt màu viền
Và bây giờ đối với màu viền, chúng ta sử dụng tham số edgecolor.
plt.bar(y,marks,color=(0.2,0.4,0.2,0.7),edgecolor='deeppink') plt.xticks(y,bars)
Horizontal Bar Plot
Làm thế nào về thanh plot ngang?
plt.barh(y,marks) plt.yticks(y,bars)
Title và Axis Labels
Hãy gọi nó là Đồ thị mẫu, với các số cuộn trên trục x và các dấu trên trục y.
plt.bar(y,marks,color=(0.5,0.1,0.5,0.6)) plt.title('Sample graph') plt.xlabel('Roll numbers') plt.ylabel('Marks') plt.ylim(0,100) plt.xticks(y,bars)
Vì vậy, tất cả đều có trong Biểu đồ Python và Lô đất bằng cách sử dụng thư viện Matplotlib. Hy vọng bạn thích giải thích của chúng tôi.
Kết luận
Do đó, trong hướng dẫn Biểu đồ Python này, chúng tôi kết luận hai chủ đề quan trọng với biểu đồ biểu đồ và biểu đồ thanh trong Python. Mặc dù chúng có vẻ giống nhau, nhưng chúng là hai thứ khác nhau. Hơn nữa, chúng ta đã thảo luận về ví dụ về Biểu đồ trong Python và ví dụ về Biểu đồ thanh Python. Tuy nhiên, nếu có bất kỳ nghi ngờ nào về Python Bar Plot, hãy hỏi trong tab nhận xét.