Pandas seaborn FaceGrid点图问题

Pandas seaborn FaceGrid点图问题,pandas,plot,facet,seaborn,Pandas,Plot,Facet,Seaborn,我正在尝试创建一个带有点图的seaborn FaceGrid 我的数据是: DaysIn GroupUID OTU_id value 1 3.A 1 33 1 3.B 1 73.17647059 1 4.A 1 48.12903226 1 4.B 1 39.875 2 3.A 1 23.76470588 2 3.B 1 43.71428571 2 4.A 1 51.73333333 2 4.B 1 42.06896552

我正在尝试创建一个带有点图的seaborn FaceGrid

我的数据是:

DaysIn  GroupUID    OTU_id  value
1   3.A 1   33
1   3.B 1   73.17647059
1   4.A 1   48.12903226
1   4.B 1   39.875
2   3.A 1   23.76470588
2   3.B 1   43.71428571
2   4.A 1   51.73333333
2   4.B 1   42.06896552
3   3.A 1   2
3   3.B 1   10.71428571
3   4.A 1   12.93333333
3   4.B 1   15
4   4.A 1   11.53333333
4   4.B 1   27.86206897
5   3.A 1   1.882352941
5   3.B 1   1.857142857
5   4.A 1   41.9
5   4.B 1   46.28571429
6   4.A 1   58.7
6   4.B 1   101.0344828
7   3.A 1   1.466666667
7   3.B 1   3.428571429
7   4.A 1   74.9
7   4.B 1   102.4137931
8   3.A 1   10.875
8   3.B 1   5.538461538
8   4.A 1   35.5
8   4.B 1   72.33333333
9   3.A 1   21.6
9   3.B 1   16.42857143
10  3.A 1   25.46666667
10  3.B 1   18.85714286
14  3.A 1   29
14  3.B 1   65.8
21  3.A 1   117.1428571
21  3.B 1   104.2142857
28  3.A 1   91.06666667
28  3.B 1   52.78571429
1   3.A 2   27.0625
1   3.B 2   14.23529412
1   4.A 2   32.74193548
1   4.B 2   18.625
2   3.A 2   15
2   3.B 2   23.64285714
2   4.A 2   13.1
2   4.B 2   19.75862069
3   3.A 2   7.6875
3   3.B 2   2.928571429
3   4.A 2   24.46666667
3   4.B 2   29.86206897
4   4.A 2   43.2
4   4.B 2   22.4137931
5   3.A 2   3.117647059
5   3.B 2   4.428571429
5   4.A 2   24.13333333
5   4.B 2   43.35714286
6   4.A 2   31.13333333
6   4.B 2   81.72413793
7   3.A 2   1.333333333
7   3.B 2   4.857142857
7   4.A 2   368.4666667
7   4.B 2   62.34482759
8   3.A 2   0.9375
8   3.B 2   4.384615385
8   4.A 2   0
8   4.B 2   0.333333333
9   3.A 2   0.733333333
9   3.B 2   2.357142857
10  3.A 2   3.4
10  3.B 2   1.357142857
14  3.A 2   4.3
14  3.B 2   0.4
21  3.A 2   2.357142857
21  3.B 2   6.285714286
28  3.A 2   15.93333333
28  3.B 2   9.571428571
以下代码将生成下图:

    g = sns.FacetGrid(long_df, col='GroupUID', row='OTU_id', sharey=False, sharex=False, margin_titles=True)
    g = g.map(sns.pointplot,'DaysIn','value')
    g.add_legend()
    g = sns.FacetGrid(long_df, col='GroupUID', hue='OTU_id', sharey=False, sharex=False, margin_titles=True)
    g = g.map(sns.pointplot,'DaysIn','value')
    g.add_legend()

您可以看到,除了右下角的“无”标题外,该图几乎完美无瑕

以下代码将生成下图:

    g = sns.FacetGrid(long_df, col='GroupUID', row='OTU_id', sharey=False, sharex=False, margin_titles=True)
    g = g.map(sns.pointplot,'DaysIn','value')
    g.add_legend()
    g = sns.FacetGrid(long_df, col='GroupUID', hue='OTU_id', sharey=False, sharex=False, margin_titles=True)
    g = g.map(sns.pointplot,'DaysIn','value')
    g.add_legend()

与上述问题相同(带有“无”)且图例未正确使用颜色渲染


我错过什么了吗?我做错了什么?

这里有两个问题:标题中的
,我无法重现;我怀疑你用的是seaborn的旧版本

图例问题如下所述:
pointplot
基本上有自己的
hue
参数,因此您可以更改指定色调的位置:

g = sns.FacetGrid(long_df, col='GroupUID', sharey=False, sharex=False, margin_titles=True)
g = g.map(sns.pointplot,'DaysIn','value', 'OTU_id', palette='deep')
g.add_legend()

另一个答案还建议使用
factorplot
,它基本上将
FacetGrid
pointplot
组合在一个界面中:

g = sns.factorplot(x="DaysIn", y='value', hue="OTU_id",
                   col='GroupUID', data=long_df, sharex=False, sharey=False)


结果略有不同,但更好地反映了数据中缺少的值。

什么是
选项
?命令行选项;修复了OPI无法重现
None
问题(seaborn 0.6)。传奇的问题是分开的,我相信这里已经提到了:更新的版本是catplot。见文件