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:

Cách dùng lớp QStatusBar trong PyQt để tạo thanh status bar

Cách dùng lớp QStatusBar trong PyQt để tạo thanh status bar

Cách dùng lớp QDockWidget của PyQt để tạo một widget

Cách dùng lớp QDockWidget của PyQt để tạo một widget

Cách dùng lớp PyQt QToolBar để tạo các widget toolbar

Cách dùng lớp PyQt QToolBar để tạo các widget toolbar

Cách sử dụng lớp PyQt QMenu để tạo menu

Cách sử dụng lớp PyQt QMenu để tạo menu

Cách sử dụng lớp QMainWindow của PyQt để tạo cửa sổ

Cách sử dụng lớp QMainWindow của PyQt để tạo cửa sổ

Cách dùng lớp PyQt QFileDialog để tạo hộp thoại chọn file

Cách dùng lớp PyQt QFileDialog để tạo hộp thoại chọn file

Cách dùng lớp PyQt QInputDialog để tạo một hộp thoại nhập liệu

Cách dùng lớp PyQt QInputDialog để tạo một hộp thoại nhập liệu

Cách sử dụng lớp PyQt QMessageBox để tạo một hộp thoại

Cách sử dụng lớp PyQt QMessageBox để tạo một hộp thoại

Cách sử dụng lớp PyQt QProgressBar để tạo một widget progress bar

Cách sử dụng lớp PyQt QProgressBar để tạo một widget progress bar

Cách dùng lớp PyQt QTextEdit để tạo một widget cho phép chỉnh sửa

Cách dùng lớp PyQt QTextEdit để tạo một widget cho phép chỉnh sửa

Cách dùng lớp PyQt QGroupBox để tạo một khung nhóm với tiêu đề

Cách dùng lớp PyQt QGroupBox để tạo một khung nhóm với tiêu đề

Cách dùng lớp PyQt QTabWidget để tạo một widget dạng tab

Cách dùng lớp PyQt QTabWidget để tạo một widget dạng tab

Cách dùng PyQt QWidget để làm container chứa các widget khác.

Cách dùng PyQt QWidget để làm container chứa các widget khác.

Cách sử dụng lớp PyQt QSlider để tạo một widget thanh trượt (slider).

Cách sử dụng lớp PyQt QSlider để tạo một widget thanh trượt (slider).

Cách tạo một widget nhập ngày và giờ sử dụng PyQt QDateTimeEdit

Cách tạo một widget nhập ngày và giờ sử dụng PyQt QDateTimeEdit

Cách tạo một widget nhập giờ sử dụng lớp PyQt QTimeEdit

Cách tạo một widget nhập giờ sử dụng lớp PyQt QTimeEdit

Cách tạo một widget nhập ngày sử dụng lớp PyQt QDateEdit

Cách tạo một widget nhập ngày sử dụng lớp PyQt QDateEdit

Cách sử dụng widget PyQt QSpinBox để tạo một spin box

Cách sử dụng widget PyQt QSpinBox để tạo một spin box

Sử dụng PyQt QComboBox để tạo Widget Combobox

Sử dụng PyQt QComboBox để tạo Widget Combobox

Cách sử dụng lớp PyQt QRadioButton

Cách sử dụng lớp PyQt QRadioButton

Top