如何在对图中添加标签?

时间:2020-07-25 01:52:09

标签: python pandas seaborn

我有一个具有以下形式的数据框:

          0         1         2         3  ...         9        10       11     output
0  2.451775  1.9565675  0.843128 -0.007820  ...  0.74554812  0.090777 -1.90625       a
1 -0.855458 -0.8444604 -0.619685  0.2273399  ... 1.3771857   4.089319 -0.16289       a
2  1.554580  1.9164567  0.643128 -0.0077550  ... 0.7771542   5.090777 -1.90625       b

是归一化numpy数组并添加最后一个名为output的列的结果。我添加了最后一列,以便能够在带有hue = output的sns.pairplot中使用它。

我遇到的问题是我的对图显示有这样的数字: enter image description here

所以我要显示的是一组标签而不是数字0,1,2,.. n,因此我有一个标签列表,如:

labels=["label 1","label 2",...,"label n" ]
我要添加到对图中的

,以使用标签名称而不是索引号0、1,... n-1。我已经做了以下事情:

sns.pairplot(df,vars=labels,hue="output")

但出现以下错误:

KeyError: 'label 1'

我尝试了`reset_index(drop = True)选项,但完全没有结果。 我该如何解决?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您可以通过从“ matplotlib”轴获取信息并进行设置来做到这一点。

labels=["label 1","label 2",...,"label n" ]
g = sns.pairplot(df,vars=labels,hue="output")

for ax, lbl in zip(g.axes.flatten(), labels):
    # print(ax, lbl)
    ax.set_ylabel(f'{lbl}')