Menu
CoddyTech

绘制 DataFrame 图表

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

一张表已经包含图表所需的数字。学完这一章后,你就能用一张表生成以下内容:

根据一家书店的一张表生成的两个图表:显示两周内每天顾客数量的折线图,以及显示每日销售额的直方图

从一次调用开始。df.plot 接收两个列名:x= 表示横向,y= 表示纵向:

sales = pd.DataFrame({"day": [1, 2, 3, 4, 5], "cups": [12, 18, 15, 25, 30]})
fig, ax = plt.subplots()
sales.plot(x="day", y="cups", ax=ax)
ax.set_title("Lemonade Sales")
plt.show()

这会绘制下方的图表。pandas 会将 x 轴标记为 day,并自动在图例中将这条线命名为 cups:

五天内柠檬水杯数的折线,从 12 上升到 30,在第 3 天有所下降,x 轴标记为 day,图例为 cups

ax=ax 会将这条线画在你的坐标轴上。如果没有它,pandas 会新建一个图形,而标题会出现在空图表上。

challenge icon

挑战

中等

河流水位计在一个风雨交加的夜晚每小时记录一次水位。river.csv 包含 hour、level_cm 和 rain_mm。

  1. 创建一个图形和坐标轴。
  2. 使用 river.plot 在这些坐标轴上绘制 level_cm 随 hour 变化的图表。
  3. 将标题设为 River Level,将 y 轴标签设为 Level (cm),然后显示图表。

你的图表应该像这张来自上游水位计的图一样:

标题为 River Level 的折线图,x 轴为 hour,范围从 0 到 12;y 轴为 Level (cm),数值从 60 上升,在第 7 小时达到峰值 88,然后缓慢回落到 75;图例为 level_cm

你的程序不会打印任何内容:Coddy 会检查你的图表,并在输出中描述它。

亲手试试

import pandas as pd
import matplotlib.pyplot as plt

river = pd.read_csv("river.csv")

# 在下方编写你的代码
quiz icon自我测试

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

数据与图表中的所有课

自己练习: Python 在线编译器