Menu
CoddyTech

在一张图中展示多个图表

本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 28 课,共 60 课。

一辆餐车记录顾客数量和他们的等待时间。不同单位的数据用两张图并排显示在同一个图表中,效果最好:

两张图并排显示:顾客数量柱状图从周一到周五逐渐上升,周五达到 150;等待时间(分钟)折线图逐渐上升,周五达到 12

忙碌的日子,漫长的等待:一眼就能看出情况。plt.subplots(1, 2) 会创建 1 行 2 张图表,左侧是 axs[0],右侧是 axs[1]:

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

每个都是一个完整的图表,包含你熟悉的方法。行会优先排列,像这样创建形状:plt.subplots(2, 1) 会将它们垂直堆叠。

challenge icon

挑战

中等

一位徒步者记录了 8 次徒步:行走的距离存放在 km 中,所用时间存放在 hours 中。起始代码中的 label(ax, title, xlabel, ylabel) 函数可以为一张图命名。并排绘制两张图:

  1. 左图:按 hikes 中的徒步编号(横轴)绘制 km 的折线(纵轴)。
  2. 右图:每次徒步对应一个点,距离为横轴,时间为纵轴。
  3. 使用下面给出的文本,通过一次 label 调用为每张图命名。

你的图应该和下面这张相似,它来自另一位徒步者的记录:

两张并排的图:左图标题为每次徒步的距离,横轴为徒步编号,纵轴为距离(km);右图为点图,标题为时间与距离,横轴为距离(km),纵轴为时间(h)

文本如下:左图使用 Distance per Hike、Hike、Distance (km);右图使用 Time vs Distance、Distance (km)、Time (h)。你的程序不会打印任何内容。

亲手试试

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])


# 为一张图表设置标题和坐标轴标签(不返回任何值)
def label(ax, title, xlabel, ylabel):
    ax.set_title(title)
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)


# 在下方编写你的代码

# 不要修改下面这一行
plt.show()
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

数据与图表中的所有课

自己练习: Python 在线编译器