如果我没有记录下进入 matplotlib 散点图的所有数据点,我将在其中添加 y=x。

20 浏览
0 Comments

如果我没有记录下进入 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中的某些功能可以在事后给我一个点的列表,但是我还没有找到如何获取该列表的方法。

0