如何将 x 和 y 轴上的值更改为 seaborn pairplot 中的单词?

Boh*_*anS 4 python matplotlib pandas seaborn python-3.6

我想将 seaborn 散点图中 X 和 Y 轴上的值更改为单词。下面是我用值绘制散点图的代码。在此之前,我将 Pandas Data Frame 中的所有用户输入(单词)替换为浮点类型,因为它不绘制带有字母的图,但现在我需要将 X 和 Y 轴值更改为单词。

sns.pairplot(data=db, y_vars=['Dayanswer'], x_vars=['Season','Day'])

这是散点图, 我想在 Y 轴上更改X 和 Y 轴上的值:“1.0”到“好”,“0.5”到“正常”,“0.0”到“坏”,在 X 轴上:在季节'2.0'到'春天','3.0'到'夏天',在白天:'1'到'星期一','2'到'星期二'等等得到这样的东西。我该怎么做?

Ser*_*ity 6

使用set_xticks,set_xticklabels等来自 matplotlib 库来实现您的目的:

import seaborn as sns
import matplotlib.pylab as plt

iris = sns.load_dataset("iris")
pp = sns.pairplot(data=iris, x_vars=['sepal_length', 'sepal_width'],  y_vars=['petal_width'])

# set y labels
for ax in pp.axes.flat: # iterate over all axes object of pairplot
    ax.set_yticks([1.,.5,.0])
    ax.set_yticklabels(['Good','Normal','Bad'])

# set x labels
# 1st plot
pp.axes[0,0].set_xticks([0,1,2,3])
pp.axes[0,0].set_xticklabels(['Winter','Spring','Summer','Autumn'])

# 2nd plot
pp.axes[0,1].set_xticks([0,1,2,3,4,5,6,7])
pp.axes[0,1].set_xticklabels(['Mon','Tue','Wen','Thu','Fri','Sut','Sun'])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明