我有一个数据框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无法从数据框中正确获取值吗?
答案 0 :(得分:1)
在没有原始数据的情况下很难确切地知道问题所在,但是在您提供的表中,topic
列中的值看起来像是数字,而不是字符串。如果是这种情况,则不应将字符串传递给order
参数。如果这是问题所在,则应该可以:
sns.catplot(x="topic", y="sentiment", order=[0, 1], data=df)
plt.show()
如果仍然无法解决问题,您可以尝试完全删除order
参数,看看是否可以解决该问题。