Đọc tất cả dữ liệu bán sản phẩm và hiển thị bằng biểu đồ nhiều dòng bằng Python
Trong bài viết này, mình sẽ cùng nhau tìm hiểu cách đọc dữ liệu bán sản phẩm từ một file CSV và sau đó hiển thị nó dưới dạng biểu đồ nhiều dòng, trong đó mỗi sản phẩm sẽ có một đường biểu diễn riêng. Bài tập này giúp bạn làm quen với việc trực quan hóa dữ liệu sử dụng biểu đồ nhiều dòng bằng Matplotlib và Pandas.
Hiển thị số lượng đơn vị bán được mỗi tháng cho mỗi sản phẩm bằng cách sử dụng các ô nhiều dòng. (tức là có Plotline riêng cho từng sản phẩm).
Biểu đồ sẽ trông như thế này.
Bước 1: Import thư viện Pandas và Matplotlib
Đầu tiên, hãy import
thư viện Pandas để làm việc với dữ liệu và thư viện Matplotlib để vẽ đồ thị.
import pandas as pd import matplotlib.pyplot as plt
Bước 2: Đọc dữ liệu từ file CSV
Tiếp theo sử dụng hàm pd.read_csv()
để đọc dữ liệu từ file CSV và lưu nó vào một DataFrame.
df = pd.read_csv("sales_data.csv")
Bước 3: Trích xuất dữ liệu bán sản phẩm từ DataFrame
Sau đó sử dụng phương thức .tolist()
để chuyển cột dữ liệu thành danh sách.
monthList = df['month_number'].tolist() faceCremSalesData = df['facecream'].tolist() faceWashSalesData = df['facewash'].tolist() toothPasteSalesData = df['toothpaste'].tolist() bathingsoapSalesData = df['bathingsoap'].tolist() shampooSalesData = df['shampoo'].tolist() moisturizerSalesData = df['moisturizer'].tolist()
Bước 4: Vẽ biểu đồ nhiều dòng
Mình sử dụng hàm plt.plot()
để vẽ biểu đồ nhiều dòng, với mỗi sản phẩm sẽ có một đường biểu diễn riêng.
plt.plot(monthList, faceCremSalesData, label='Dữ liệu bán kem dưỡng da', marker='o', linewidth=3) plt.plot(monthList, faceWashSalesData, label='Dữ liệu bán sữa rửa mặt', marker='o', linewidth=3) plt.plot(monthList, toothPasteSalesData, label='Dữ liệu bán kem đánh răng', marker='o', linewidth=3) plt.plot(monthList, bathingsoapSalesData, label='Dữ liệu bán xà phòng tắm', marker='o', linewidth=3) plt.plot(monthList, shampooSalesData, label='Dữ liệu bán dầu gội', marker='o', linewidth=3) plt.plot(monthList, moisturizerSalesData, label='Dữ liệu bán kem dưỡng ẩm', marker='o', linewidth=3)
Bước 5: Cấu hình biểu đồ
Sử dụng các hàm plt.xlabel()
, plt.ylabel()
, plt.legend()
, plt.xticks()
, plt.yticks()
và plt.title()
để cấu hình biểu đồ.
plt.xlabel('Số tháng') plt.ylabel('Số đơn vị đã bán') plt.legend(loc='upper left') plt.xticks(monthList) plt.yticks([1000, 2000, 4000, 6000, 8000, 10000, 12000, 15000, 18000]) plt.title('Dữ liệu bán sản phẩm')
Bước 6: Hiển thị biểu đồ
Cuối cùng, mình sử dụng plt.show()
để hiển thị biểu đồ đã vẽ.
plt.show()
Kết quả
Khi bạn chạy chương trình và đảm bảo rằng bạn đã có file CSV "sales_data.csv" trong cùng thư mục với mã nguồn của bạn, bạn sẽ nhận được biểu đồ nhiều dòng thể hiện số đơn vị đã bán của từng sản phẩm theo từng tháng:
Biểu đồ nhiều dòng
Chúc mừng bạn đã thành công đọc dữ liệu bán sản phẩm và hiển thị nó bằng biểu đồ nhiều dòng sử dụng Matplotlib và Pandas. Bài tập này giúp bạn làm quen với việc trực quan hóa dữ liệu bằng biểu đồ nhiều dòng và sử dụng Matplotlib và Pandas trong Python. Chúc các bạn thành công và tiếp tục khám phá thế giới trực quan hóa dữ liệu!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Đọc tổng lợi nhuận của các tháng và thể hiện bằng đồ thị trong Python
- Lấy tổng lợi nhuận các tháng và biểu diễn đồ thị đường thẳng với thuộc tính Style bằng Python
- Đọc tất cả dữ liệu bán sản phẩm và hiển thị bằng biểu đồ nhiều dòng bằng Python
- Đọc dữ liệu bán kem đánh răng mỗi tháng và hiển thị bằng biểu đồ phân tán trong Python
- Đọc dữ liệu bán sản phẩm kem dưỡng da mặt và sữa rửa mặt và hiển thị bằng biểu đồ thanh trong Python
- Đọc số liệu bán xà phòng tắm của các tháng và thể hiện bằng biểu đồ thanh trong Python.
- Đọc tổng lợi nhuận mỗi tháng và hiển thị bằng biểu đồ để xem các khoảng lợi nhuận phổ biến nhất trong Python
- Tính tổng dữ liệu bán hàng năm ngoái của từng sản phẩm và hiển thị bằng biểu đồ tròn trong Python
- Đọc sữa rửa mặt xà phòng tắm các tháng và hiển thị bằng Subplot trong Python