首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在海运连接图中,是否可以使用非高斯核来处理这两个横向分布?

在海运连接图中,是否可以使用非高斯核来处理这两个横向分布?
EN

Stack Overflow用户
提问于 2016-04-29 08:30:16
回答 1查看 621关注 0票数 3

我的数据看起来是:

代码语言:javascript
复制
s1 = sns.jointplot(data.columns[i], 
data.columns[j], 
data=data, 
space=0, color="b", stat_func=None)

如果我用kde代替

代码语言:javascript
复制
s1 = sns.jointplot(data.columns[i], 
    data.columns[j], 
    data=data, kind = 'kde',
    space=0, color="b", stat_func=None)

我很满意二维kde插值,而不是横向的。这两个问题是如此紧密地放在一起,实际上表明分布的最大值位于两个不同的点,这可能是相当误导的。

那么,现在的实际问题是:是否可以为这两个横向分布指定与高斯不同的内核(蓝色)?(我知道高斯在2D中是唯一的选择)。例如,因为'biw‘(绿色)在美观上看起来可能更好(从数学上讲,将与不同内核进行的插值紧密地放在一起使它们看起来是一样的,这在数学上是件好事.)。因此,我的问题是,我是否可以在sns.jointplot中指定不同的内核,还是用第二个瞬间计算的另一个内核覆盖横向分布的唯一方法。

代码语言:javascript
复制
ax1 = sns.distplot(data[data.columns[j]])
sns.kdeplot(data[data.columns[j]], kernel= 'biw', ax = ax1)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-29 08:39:08

您可以为边际图设置不同的内核:

代码语言:javascript
复制
s1 = sns.jointplot(data.columns[i], 
                   data.columns[j], 
                   data=data, kind = 'kde',
                   space=0, color="b", stat_func=None,
                   marginal_kws={"kernel":"biw"})  # like this

或者,如果您只想更改一个边缘图,则可以在其上重新绘制:

代码语言:javascript
复制
s1.ax_marg_y.cla() # clear axis
sns.kdeplot(data.y, ax=s1.ax_marg_y, # choose the ax
            kernel="biw", # choose your kernel
            legend=0, # remove the legend
            vertical=True) # swap axis

vertical=True允许您切换x和y轴(如果您更改了最高边距图,则不需要).

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36933377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档