首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >matplotlib是否有在轴坐标中绘制对角线的功能?

matplotlib是否有在轴坐标中绘制对角线的功能?
EN

Stack Overflow用户
提问于 2014-03-01 03:33:01
回答 4查看 56.9K关注 0票数 62

Matplotlib轴具有函数axhlineaxvline,用于在给定的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代码,使其在xy的轴坐标中从[0, 1]绘制。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22104256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档