来自 pandas 数据框的 2 列的 Seaborn 散点图

Seaborn scatterplot from a pandas dataframe for 2 columns

我有一个 df 数据框:

sentiment | topic
1         | 1
-4        | 0
2         | 1
-1        | 0
1         | 0
3         | 1

我想制作一个散点图以查看情绪值如何根据主题排列。

我的代码:

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

df = pd.read_sql_table("df", result)
sns.catplot(x="topic", y="sentiment", order=["0", "1"], data=df)
plt.show()

但是情节是空的?

Seaborn 是否没有从数据框中正确获取值?

如果没有原始数据,很难确切知道问题出在哪里,但在您提供的 table 中,topic 列中的值看起来像是数字,而不是字符串。如果是这种情况,则不应将字符串传递给 order 参数。如果这是问题所在,这应该有效:

sns.catplot(x="topic", y="sentiment", order=[0, 1], data=df)
plt.show()

如果这仍然不起作用,您可以尝试完全删除 order 参数,看看是否能解决问题。