为什么seaborn的pairplot没有绘制第一个情节?

use*_*437 2 python python-3.x seaborn

我正在尝试使用 制作一个pairplot sns,但由于某种原因,它拒绝绘制第一个。什么可能导致这个问题?

这是完整的工作代码:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv("http://web.stanford.edu/~oleg2/hse/auto/Auto.csv").dropna()
med = df.mpg.median()
df['mpg01'] = [1 if i > med else 0 for i in df.mpg]
sub = df.drop(columns=['name'])
sns.pairplot(data=sub, x_vars=sub.columns, y_vars=['mpg01'])
plt.show()
Run Code Online (Sandbox Code Playgroud)

这是输出: 在此处输入图片说明

Ved*_*kar 9

我知道您已经接受了一个解决方案。

但是,如果这可以帮助将来的某人。值得一提。

我在seaborn存储库上看到了类似的问题GitHub

他们已将其确定为错误

从那里的评论;很明显,如果您diag_kind = None在调用sns.pairplot函数时添加参数,它应该可以解决您的问题。

在这种情况下,您的代码将如下所示

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv("http://web.stanford.edu/~oleg2/hse/auto/Auto.csv").dropna()
med = df.mpg.median()
df['mpg01'] = [1 if i > med else 0 for i in df.mpg]
sub = df.drop(columns=['name'])
sns.pairplot(data=sub, x_vars=sub.columns, 
              y_vars=['mpg01'], diag_kind = None) # Note the change
plt.show()
Run Code Online (Sandbox Code Playgroud)

希望它能解决您的问题并帮助他人。

干杯!