gpt4 book ai didi

python - 如何将手动自定义的 seaborn 图添加到 JointGrid/jointplot

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:35 25 4
gpt4 key购买 nike

我想使用 seaborn 的 JointGrid/jointplot。

在中间我想添加一个sns.regplot。在边距上有两个 sns.distplots 或直方图。

这不是问题,但我想以不同方式自定义所有三个 pplot,并为所有三个添加不同的拟合函数和标签。

但我无法解决问题,如果我只使用预定义的方法如何获取绘图的实例:

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot(sns.regplot, sns.distplot)

手动操作那些。或者反过来创建一个 regplot 和两个 distplot 实例,我定义了我想要的方式,然后将它们添加到 JointGrid 中,但不幸的是,下面这些方法不存在或不起作用那样:

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g.add_joint(myreg) # That would be great but doesn't work
g.ax_marg_x.add(mydist1) # Just invented code
g.ax_marg_y.add(mydist2) # Just to show you, the way I'd like to solve the issue

你能给我一个建议,如何解决这个问题吗?

最佳答案

嗯,documentation has a few examples .如果你想在两个边缘上使用相同的 distPlot:

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot_joint(plt.scatter, color=".5", edgecolor="white")
g = g.plot_marginals(sns.distplot, kde=True, color=".5")

或者如果你想在每个边际上绘制不同的图

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot_joint(sns.regplot, color="m")
_ = g.ax_marg_x.hist(tips["total_bill"], color="b", alpha=.6,
bins=np.arange(0, 60, 5))
_ = g.ax_marg_y.hist(tips["tip"], color="r", alpha=.6,
orientation="horizontal",
bins=np.arange(0, 12, 1))

然后花了 2 秒的时间进行实验,以确保您可以将自己的自定义绘图函数传递给边缘图和 jointPlot,并且必须设置断点以确定哪个参数决定了边缘图的方向

def customJoint(x,y,*args,**kwargs):
plt.scatter(x,y,color='red')
def customMarginal(x,*args,**kwargs):
sns.distplot(x,color='green', vertical=kwargs['vertical'])

g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot(customJoint, customMarginal)

关于python - 如何将手动自定义的 seaborn 图添加到 JointGrid/jointplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31170212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com