Matplotlib轴具有函数axhline
和axvline
,用于在给定的y或x坐标(分别)绘制水平线或垂直线,而与轴上的数据比例无关。
有没有类似的函数来绘制一条常量对角线?例如,如果我有一个具有相似属性域的变量散点图,那么知道它们是否落在y = x
线之上或之下通常是有用的
mean, cov = [0, 0], [(1, .6), (.6, 1)]
x, y = np.random.multivariate_normal(mean, cov, 100).T
y += x + 1
f, ax = plt.subplots(figsize=(6, 6))
ax.scatter(x, y, c=".3")
ax.plot([-3, 3], [-3, 3], ls="--", c=".3")
ax.set(xlim=(-3, 3), ylim=(-3, 3))
这当然可以通过获取轴限制(ax.get_xlim()
等)以编程方式完成,但是a)需要几个额外的步骤,b)在更多数据可能最终出现在绘图上并改变限制的情况下是脆弱的。(实际上,在某些情况下,只需添加常量线本身就会拉伸轴)。
例如,最好只使用ax.axdline(ls="--", c=".3")
,但不清楚matplotlib代码库中是否存在这样的代码。我认为,您所需要做的就是修改axhline
代码,使其在x
和y
的轴坐标中从[0, 1]
绘制。
https://stackoverflow.com/questions/22104256
复制相似问题