Menu
CoddyTech

多条折线与图例

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

要比较两件事?把它们放在同一张图表上,比如泳池和溜冰场 6 个月的情况:

一张标题为“每月访客数”的图表,其中两条线在第 4 个月附近交叉:泳池的访客数从 80 上升到 610,溜冰场的访客数从 540 下降到 60,图例标出了两者的名称

每个 plt.plot 都会添加一条线,label= 会为它指定名称:

months = [1, 2, 3, 4, 5, 6]
pool = [80, 95, 150, 260, 420, 610]
rink = [540, 500, 380, 210, 120, 60]
plt.plot(months, pool, label="Pool")
plt.plot(months, rink, label="Ice rink")
plt.title("Visitors per Month")
plt.xlabel("Month")
plt.ylabel("Visitors")
plt.legend()
plt.show()

随着天气变暖,两条线在第 4 个月左右交叉。plt.legend() 会绘制图例,将每个名称放在线条颜色旁边。没有它,名称就会隐藏起来。

challenge icon

挑战

中等

两个朋友玩了 6 轮棋盘游戏。程序会读取他们的名字,每行一个;scores1 和 scores2 保存他们每轮的得分。

  1. 每位玩家画一条线,横轴表示轮次,纵轴表示得分,并先画第一位玩家的线。
  2. 用玩家的名字标注每条线,并显示图例。

起始代码设置了文本并显示图表。你的图表应该和这张一样,显示 Zoe 和 Sam:

标题为 Game Scores 的图表,横轴表示 Round,纵轴表示 Points:轮次 1 到 6 上有两条锯齿线,Zoe 对应蓝色,Sam 对应橙色,图例依次标注 Zoe 和 Sam

你的程序不会打印任何内容。Coddy 会在输出中描述你的图表。

亲手试试

import matplotlib.pyplot as plt

player1 = input()
player2 = input()
rounds = [1, 2, 3, 4, 5, 6]
scores1 = [8, 12, 9, 15, 14, 18]
scores2 = [10, 9, 13, 12, 17, 16]

plt.title("Game Scores")
plt.xlabel("Round")
plt.ylabel("Points")

# 在下面编写你的代码

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

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

数据与图表中的所有课

自己练习: Python 在线编译器