我想在hexbin图上修复x和y边缘分布的bin范围,因为我想用另一个分布图来覆盖边缘。
我可以使用
设置垃圾箱数量g=sns.jointplot(x='age',y='value',data=joint_data, space=0, color='g', kind='hex',
stat_func = None, marginal_kws=dict(bins=num_bins))
我可以使用
沿两个轴设置特定的箱子g=sns.jointplot(x='age',y='value',data=joint_data, space=0, color='g', kind='hex',
stat_func = None, marginal_kws=dict(bins=numpy.linspace(x_min, x_max,100))
但我想分别为轴定义不同的范围。单独的轴似乎不是marginal_kws。
答案 0 :(得分:0)
如果您想分别访问两个边缘轴,则需要直接使用JointGrid
,而不是用户友好的jointplot()
。
看看seaborn's JointGrid documentation。特别是标题为“分别绘制两个边缘图”的例子是最相关的。基本上,您可以使用g.ax_marg_x
和g.ax_marg_y
来获得边缘轴的参考,然后您可以在这些轴上使用任何您想要的绘图功能
g = sns.JointGrid(x="total_bill", y="tip", data=tips)
g = g.plot_joint(plt.scatter, color="m", edgecolor="white")
_ = 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))