Menu
CoddyTech

Biểu đồ cột

Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 26 trên 60.

Chương này biến dữ liệu thành các bản tóm tắt. Khi kết thúc chương, bạn sẽ tạo một báo cáo gồm hai biểu đồ như sau:

Hai biểu đồ đặt cạnh nhau: biểu đồ cột thể hiện lượng mưa trung bình của từng ngày trong tuần, trong đó thứ Năm mưa nhiều nhất, và biểu đồ tần suất thể hiện lượng mưa mỗi ngày, với hầu hết các ngày hầu như không có mưa

Bắt đầu với biểu đồ cột. Các hương vị không có thứ tự, nên đường nối từ hương vị này sang hương vị tiếp theo không mang ý nghĩa gì. ax.bar(categories, values) vẽ một cột cho mỗi hương vị:

flavors = ["Chocolate", "Vanilla", "Mint", "Mango"]
sold = [42, 27, 15, 21]
fig, ax = plt.subplots()
ax.bar(flavors, sold)
ax.set_title("Scoops Sold")
ax.set_ylabel("Scoops")
plt.show()

Biểu đồ cột có tiêu đề Số phần kem đã bán, gồm bốn cột: Chocolate 42, Vanilla 27, Mint 15, Mango 21

Các cột bắt đầu từ 0, nên có thể so sánh trực tiếp chiều cao: giá trị 42 của sô cô la gấp đôi giá trị 21 của xoài. Trước khi huấn luyện mô hình, các cột biểu thị tần suất xuất hiện của mỗi câu trả lời cho thấy có câu trả lời nào chiếm ưu thế hay không.

challenge icon

Thử thách

Trung bình

48 học sinh đã cho biết cách các bạn ấy đến trường. counts lưu số câu trả lời cho từng mã: 1 là đi bộ, 2 là đi xe đạp, 3 là đi xe buýt, 4 là đi ô tô. Để so sánh các trường, hãy biểu diễn tỉ lệ:

  1. Chuyển số lượng thành phần trăm, làm tròn đến 1 chữ số thập phân (12 trên 48 là 25.0).
  2. Vẽ thành các cột: Walk, Bike, Bus, Car.
  3. Gắn nhãn trục tung là Students (%).

Biểu đồ của bạn sẽ trông như thế này, với dữ liệu từ một trường nhỏ hơn:

Biểu đồ cột có tiêu đề Getting to School với bốn cột biểu thị phần trăm: Walk 26.7, Bike 13.3, Bus 40, Car 20

Chương trình của bạn không in ra gì cả. Coddy mô tả các cột của bạn trong đầu ra.

Tự làm thử

import numpy as np
import matplotlib.pyplot as plt

# 1 = đi bộ, 2 = xe đạp, 3 = xe buýt, 4 = ô tô
answers = np.array([1, 3, 1, 4, 3, 3, 4, 3, 4, 4, 3, 4, 4, 4, 3, 3,
                    2, 2, 2, 1, 1, 3, 1, 1, 1, 2, 3, 3, 1, 3, 2, 1,
                    3, 4, 3, 3, 1, 1, 1, 2, 3, 1, 3, 4, 4, 3, 2, 4])


# Trả về mảng (array) chứa số giá trị bằng từng mã từ 1 đến 4
def count_codes(values):
    counts = []
    for code in range(1, 5):
        counts.append((values == code).sum())
    return np.array(counts)


counts = count_codes(answers)
fig, ax = plt.subplots()
ax.set_title("Getting to School")

# Viết code của bạn bên dưới

# Đừng thay đổi dòng bên dưới
plt.show()
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Dữ liệu và biểu đồ

Tự luyện tập: Trình biên dịch Python online