散点图
本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 21 课,共 60 课。
10 株室内植物:每天的日照时长,以及每株植物的生长量。用线连接起来后,它们会交织成一团。显示为点后,就能看出一种规律:
plt.scatter(x, y)会为每组数据画一个点,不画线:
sun = [2, 6, 3, 8, 5, 1, 7, 4, 6, 3]
growth = [4, 10, 7, 12, 6, 2, 9, 8, 7, 3]
plt.scatter(sun, growth)
plt.xlabel("Sun (hours a day)")
plt.ylabel("Growth (cm)")
plt.show()阳光越多,生长越快。散点图展示了不同样本的两项测量值之间的关系:在模型根据其中一项预测另一项之前,先看看它们之间的关系。
按顺序排列的值,比如一周中的各天,仍然使用 plt.plot。
挑战
中等钓鱼的人按捕获顺序记录了每条鱼:每条鱼占一行,先是长度(cm),然后是重量(g)。初始代码用 plt.plot 将它们连起来,所以线条会来回折返,遮住规律。
- 把每条鱼画成一个独立的点:长度沿横轴,重量沿纵轴。
- 不要画任何线。
- 保留标题、标签和
plt.show()。
你的图应该和下面这张来自另一次出行的图相似:
你的程序不会打印任何内容。Coddy 会在输出中描述你的图表。
亲手试试
import numpy as np
import matplotlib.pyplot as plt
# 每行代表一条鱼,按捕获顺序排列:长度(cm)、重量(g)
fish = np.array([[22, 180], [30, 390], [25, 250], [35, 620],
[28, 330], [40, 870], [19, 120], [33, 510]])
# 修正下面的图
plt.plot(fish[:, 0], fish[:, 1])
# 不要修改下面的代码行
plt.title("Fish Catch")
plt.xlabel("Length (cm)")
plt.ylabel("Weight (g)")
plt.show()
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
数据与图表中的所有课
自己练习: Python 在线编译器