Matplotlib轴具有函数axhline,axvline用于在给定的y或x坐标(分别)上绘制水平或垂直线,与Axes上的数据比例无关.
绘制恒定对角线是否有类似的功能?例如,如果我有一个具有相似域的变量的散点图,通常有用的是知道它们是否高于或低于以下行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))
Run Code Online (Sandbox Code Playgroud)

这当然可以通过抓取轴限制(ax.get_xlim()等等)以编程方式完成,但是a)需要一些额外的步骤而b)在更多数据可能最终出现在图上并改变极限的情况下是脆弱的.(实际上在某些情况下,只需添加常量线就可以拉伸轴).
例如,最好是这样做,ax.axdline(ls="--", c=".3")但是不清楚matplotlib代码库中是否存在这样的东西.所有你需要做的是修改axhline代码绘制[0, 1]在轴上的坐标两x和y,我想.
在R中,有一个函数(cm.rnorm.cor来自包CreditMetrics),它采用样本量,变量数量和相关矩阵来创建相关数据.
Python中有相应的东西吗?