Menu
CoddyTech

Nhiều biểu đồ trong một hình

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

Một xe bán đồ ăn theo dõi số khách và thời gian chờ của họ. Các đơn vị khác nhau sẽ dễ đọc hơn khi thể hiện bằng hai biểu đồ đặt cạnh nhau trong cùng một hình:

Hai biểu đồ đặt cạnh nhau: biểu đồ cột thể hiện số khách từ thứ Hai đến thứ Sáu, tăng lên 150 vào thứ Sáu, và biểu đồ đường thể hiện thời gian chờ tính bằng phút, tăng lên 12 phút vào thứ Sáu

Ngày đông khách, thời gian chờ lâu: chỉ cần nhìn qua là bạn hiểu ngay. plt.subplots(1, 2) tạo 1 hàng gồm 2 biểu đồ, axs[0] ở bên trái và axs[1] ở bên phải:

days = ["Mon", "Tue", "Wed", "Thu", "Fri"]
customers = [60, 85, 70, 120, 150]
wait = [4, 6, 5, 9, 12]
fig, axs = plt.subplots(1, 2)
axs[0].bar(days, customers)
axs[0].set_title("Customers")
axs[1].plot(days, wait)
axs[1].set_title("Wait (min)")
plt.show()

Mỗi biểu đồ đều đầy đủ các phương thức bạn đã biết. Các hàng được xếp trước, giống như một hình dạng: plt.subplots(2, 1) xếp chúng chồng lên nhau.

challenge icon

Thử thách

Trung bình

Một người đi bộ đường dài đã ghi lại tám chuyến đi: quãng đường km đã đi và thời gian hours đã mất. Hàm label(ax, title, xlabel, ylabel) có sẵn dùng để đặt tên cho một biểu đồ. Hãy vẽ hai biểu đồ cạnh nhau:

  1. Bên trái: đường biểu diễn km (theo chiều dọc) theo số chuyến đi trong hikes (theo chiều ngang).
  2. Bên phải: một chấm cho mỗi chuyến đi, quãng đường theo chiều ngang và thời gian theo chiều dọc.
  3. Đặt tên cho mỗi biểu đồ bằng một lần gọi label, dùng các nội dung bên dưới.

Biểu đồ của bạn sẽ trông như thế này, lấy từ nhật ký của một người đi bộ đường dài khác:

Hai biểu đồ cạnh nhau: bên trái là đường biểu diễn có tiêu đề Distance per Hike, với Hike theo chiều ngang và Distance (km) theo chiều dọc; bên phải là các chấm có tiêu đề Time vs Distance, với Distance (km) theo chiều ngang và Time (h) theo chiều dọc

Các nội dung: Distance per Hike, Hike, Distance (km) ở bên trái; Time vs Distance, Distance (km), Time (h) ở bên phải. Chương trình của bạn không in ra gì.

Tự làm thử

import numpy as np
import matplotlib.pyplot as plt

hikes = np.arange(1, 9)
km = np.array([8.0, 12.5, 6.0, 15.0, 10.0, 18.5, 9.5, 14.0])
hours = np.array([2.5, 4.0, 2.0, 5.0, 3.5, 6.5, 3.0, 4.5])


# Đặt tiêu đề và nhãn trục cho một biểu đồ (không trả về giá trị)
def label(ax, title, xlabel, ylabel):
    ax.set_title(title)
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)


# 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