MATPLOTLIB
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Đọ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.

12 jpg

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() 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:

12 jpg

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!

test php

Bài giải

-------------------- ######## --------------------

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Tìm hiểu Event loop trong Python

Tìm hiểu Event loop trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Cách sử dụng ProcessPoolExecutor trong Python

Sử dụng đa xử lý trong Python

Sử dụng đa xử lý trong Python

Cách sử dụng Thread-safe Queue trong Python

Cách sử dụng Thread-safe Queue trong Python

Sử dụng Semaphore trong Python

Sử dụng Semaphore trong Python

Cách dừng Luồng trong Python

Cách dừng Luồng trong Python

Cách sử dụng Semaphore trong Python

Cách sử dụng Semaphore trong Python

Đối tượng Threading Event trong Python

Đối tượng Threading Event trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Tìm hiểu về điều kiện race của threading Lock trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Sử dụng lớp ThreadPoolExecutor trong Python

Các luồng Daemon trong Python

Các luồng Daemon trong Python

Tìm hiểu về Multithreading trong Python

Tìm hiểu về Multithreading trong Python

Cách trả về giá trị từ một Thread trong Python

Cách trả về giá trị từ một Thread trong Python

Cách mở rộng Class Thread trong Python

Cách mở rộng Class Thread trong Python

Cách sử dụng module threading trong Python

Cách sử dụng module threading trong Python

Sự khác biệt giữa các Processes and Threads

Sự khác biệt giữa các Processes and Threads

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Top