Seaborn pairplot:如何更改图例标签文字

时间:2016-11-06 01:11:14

标签: python python-3.x seaborn

我正在用Python中的Seaborn制作一个简单的配对图,它通过Pandas DataFrame中变量的绘图元素颜色显示不同级别的分类变量。虽然情节完全符合我的要求,但分类变量是二元的,这使得传说对于不熟悉数据的观众来说毫无意义(类别自然标记为0和1)。

我的代码示例:

g = sns.pairplot(df, hue='categorical_var', palette='Set3')

有没有办法用pairplot更改图例标签文字?或者我应该使用PairGrid,如果是这样,我将如何处理它?<​​/ p>

2 个答案:

答案 0 :(得分:1)

找到了!在这里得到了回答:Edit seaborn legend

g = sns.pairplot(df, hue='categorical_var', palette='Set3')
g._legend.set_title(new_title)

答案 1 :(得分:0)

由于您没有提供完整的代码示例,也没有提供模拟数据,我将使用自己的代码来回答。

第一个解决方案

最简单的方法是保留二进制标签以进行分析,并创建一个专门用于绘图的列。这是我的示例代码,您应该抓住这个想法:

def transconum(morph):
    if (morph == 'S'):
        return 1.0
    else:
        return 0.0

CompactGroups['MorphNum'] = CompactGroups['MorphGal'].apply(transconum)

第二个解决方案

另一种方法是覆盖航班上的标签。以下是我的示例代码,它完美地运作:

grid = sns.jointplot(x="MorphNum", y="PropS", data=CompactGroups, kind="reg")
grid.set_axis_labels("Central type", "Spiral proportion among satellites")
grid.ax_joint.set_xticks([0, 1, 1])
plt.xticks(range(2), ('$Red$', '$S$'))