如何解决如何在seaborn的relplot线图中添加趋势线
我有包含“utility”、“p”、“mean”、“sd”、“iteration”列的数据框。 我想检查作为 x 的 'p' 和作为 y 的 'utility' 之间的关系,并看看它如何随着不同的 'mean'、'sd' 和 'iteration' 值而变化。为了正确地可视化数据,我想在同一个图中显示很少的图,这就是我选择使用 relplot(seaborn 的图形级别函数)的原因。这是我的代码和图:
import pandas as pd
import seaborn as sns
data = {'Utility': [0.6250544037730811,0.6091476481763195,0.6230131522688347,0.5000000000000003,0.5621765008857981,0.6224593312018534,0.4782238914061277,0.4859561575141825,0.4715435909529027,0.5260886064478572,0.515751827909536,0.4867704454880584,0.5695008915146452,0.5454729853117513,0.5291730220268104,0.4808967870953403,0.4772728462758539,0.4577117329731061,0.5355220476492846,0.5255553979838615,0.5162684446817668,0.5863130353563192,0.579808576836609,0.5324238887155383,0.4965294526200233,0.5005441277312246,0.4634170389692744],'p': [0.9,0.9,1.0,0.0,0.1,0.2,0.2],'mean': [1.1,1.1,1.05,1.0],'sd': [0.3,0.4,0.5,0.3,0.5],'iteration': [100.0,100.0,1000.0,1000.0]}
df = pd.DataFrame(data)
title = 'Utility as a function of allocation strategy'
color = ['aquamarine','teal','DarkBlue']
p1 = sns.relplot(x='p',y='Utility',data=df,col='iteration',row='mean',hue='sd',style='sd',kind='line',marker='X',palette=color[:len(sd_list)],facet_kws={'sharey': 'row','sharex': True})
p1.fig.suptitle(f"{title}".format(title=title),fontsize=12)
p1.tight_layout()
我想在每个子图的顶部添加一条趋势线,同时保持图中的点连接(不是带有趋势线的散点图)。我想使用 lmplot,但它对于子图的效率较低。 有没有办法做到这一点?
编辑: 当我尝试这段代码时,我得到了轴中所有 3 个图的共同趋势线,我想为每个图单独绘制一个。可能吗?
g = sns.relplot(data=df,x='p','sharex': True})
g.data = df
g.map_dataframe(sns.regplot,color='b')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。