python - 向 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 做到这一点,但到目前为止我在文档中找不到任何内容。
谢谢!
解决方案
您需要遍历 FacetGrid 的各个轴:
for ax in p1.axes.flat:
ax.plot(xx,yy)
推荐阅读
- python - 使用 Django 3.2.6 覆盖模板
- graph - ytics中的Gnuplot多个值
- c++ - gtkmm : 用 cairo 绘制文本
- java - 在 Pivotal Cloud Foundary 中访问外部 api 时出现套接字连接异常
- html - 文本装饰:下划线具有未记录的线宽属性
- nginx - 如何在自定义端口上使用 Nginx 在 EC2 实例(linux)上设置 Jenkins?
- css - 为什么 after 伪元素创建自己的无法删除的边框?
- flutter - 颤振功能发现不显示覆盖
- python - 从笛卡尔坐标绘制 3D 表面(matplotlib 或 pyplot)
- python - 如何在(Flask-)SQLAlchemy 中使用 timedelta?