如何显示具有多个轴的seaborn catplot

问题描述

我使用主数据框 r_df 并计算“p”和“效用”之间的线性回归,包括线参数和 R 平方。 那是 r_df:

    Utility    p  mean   sd  iteration
90   0.075858  1.0   0.5  0.3       10.0
91   0.075858  1.0   0.5  0.4       10.0
92   0.075858  1.0   0.5  0.5       10.0
93   0.500000  1.0   1.0  0.3       10.0
94   0.500000  1.0   1.0  0.4       10.0
95   0.500000  1.0   1.0  0.5       10.0
96   0.924142  1.0   1.5  0.3       10.0
97   0.924142  1.0   1.5  0.4       10.0
98   0.924142  1.0   1.5  0.5       10.0
99   0.124008  0.0   0.5  0.3      100.0
100  0.149518  0.0   0.5  0.4      100.0
101  0.168911  0.0   0.5  0.5      100.0
102  0.516585  0.0   1.0  0.3      100.0
103  0.511339  0.0   1.0  0.4      100.0
104  0.551679  0.0   1.0  0.5      100.0

这就是数据框df_iter,它存储了线性回归的参数:

            slope  intercept     R sqr  mean   sd  iteration
90   0.010329   0.494478  0.003605   1.0  0.3       10.0
91   0.001569   0.498630  0.000736   1.0  0.3      100.0
92  -0.000294   0.500254  0.000252   1.0  0.3     1000.0
93  -0.003057   0.499894  0.000206   1.0  0.4       10.0
94  -0.000732   0.501374  0.000117   1.0  0.4      100.0
95   0.000047   0.499954  0.000005   1.0  0.4     1000.0
96   0.007904   0.495582  0.001036   1.0  0.5       10.0
97   0.001049   0.499832  0.000193   1.0  0.5      100.0
98  -0.001417   0.500882  0.003341   1.0  0.5     1000.0
99   0.063473   0.869365  0.305991   1.5  0.3       10.0
100  0.063074   0.870057  0.799972   1.5  0.3      100.0
101  0.063367   0.869828  0.924101   1.5  0.3     1000.0
102  0.098548   0.838722  0.369288   1.5  0.4       10.0
103  0.102952   0.835050  0.831155   1.5  0.4      100.0
104  0.101127   0.836301  0.944319   1.5  0.4     1000.0

现在,我使用带有以下代码的 seaborn catplot 显示来自 r_df 的数据:

s2 = sns.catplot(x="iteration",y="slope",data=df_iter,sharey="row",hue="sd",col="mean",palette="crest")
s2.map(plt.axhline,y=0,ls='--',c='red')

结果如下:

The slope graph

现在,我真的想在现有猫图的顶部添加 R 平方值的点。我设法分别绘制它们,但我找不到一种方法来向具有多个轴的猫图添加点(我从一开始就选择使用这种类型的原因是列和行的简单选项)。我只找到了与单轴猫图相关的答案。

ax2 = sns.catplot(x="iteration",y="R sqr",palette="rocket")
ax2.map(plt.axhline,c='red')

R平方值的图形:

The graph of R square values

即使将 R 平方值作为单个点(而不是另一个图)添加到第一个图中也很好,但我找不到如何在 seaborn 图形级别对象中指定子图。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...