首页 > 解决方案 > 向 seaborn 的 relplot 创建的多个绘图添加虚线

问题描述

我正在尝试在下图中的每个图中添加 x = y 的虚线对角线。它们是由 seaborn 的 relplot 创建的,使用以下代码:

  p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)
 (p1.set_axis_labels("$E_{ads}(*H)$", "$E_{ads}(*CO_2)$")
 .set_titles("Bias: {col_name} V vs SHE")
 .set(xlim=(-0.4, 2), ylim=(-0.4, 2)))

我尝试添加以下代码行,但它只将我想要的行添加到该系列的最后一个图表:

xx = np.linspace(-1, 2, 100)
yy = xx 

p1 = sns.relplot(data=df2, x="H", y="CO2", col="Bias", hue="Met", col_wrap=5)
(p1.set_axis_labels("$E_{ads}(*H)$", "$E_{ads}(*CO_2)$")
.set_titles("Bias: {col_name} V vs SHE")
.set(xlim=(-0.4, 2), ylim=(-0.4, 2)))
plt.plot(xx, yy)
plt.show()

链接到图表

如何将我想要的线添加到图中的所有图中?我不确定是否有办法使用 FacetGrid 做到这一点,但到目前为止我在文档中找不到任何内容。

谢谢!

标签: pythonplotseaborn

解决方案


您需要遍历 FacetGrid 的各个轴:

for ax in p1.axes.flat:
    ax.plot(xx,yy)

推荐阅读