如果我没有记录下进入 matplotlib 散点图的所有数据点,我将在其中添加 y=x。
- 论坛
- 如果我没有记录下进入 matplotlib 散点图的所有数据点,我将在其中添加 y=x。
20 浏览
如果我没有记录下进入 matplotlib 散点图的所有数据点,我将在其中添加 y=x。
这是一段使用matplotlib绘制散点图并添加y=x线的代码:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
nseries = 10
colors = cm.rainbow(np.linspace(0, 1, nseries))
all_x = []
all_y = []
for i in range(nseries):
x = np.random.random(12) + i / 10.0
y = np.random.random(12) + i / 5.0
plt.scatter(x, y, color=colors[i])
all_x.extend(x)
all_y.extend(y)
identity_line = np.linspace(max(min(all_x), min(all_y)), min(max(all_x), max(all_y)))
plt.plot(identity_line, identity_line, color="black", linestyle="dashed", linewidth=3.0)
plt.show()
为了实现这个目标,我不得不记录所有用于散点图的x和y值,以便我知道identity_line应该从哪里开始和结束。如果我没有记录我绘制的所有点的列表,是否有办法让y=x显示出来?我认为matplotlib中的某些功能可以在事后给我一个点的列表,但是我还没有找到如何获取该列表的方法。