Pandas 在df列-Seaborn中将xticks设置为唯一值
我试图使用pandas列中的唯一值将x记号插入到图形中。我在不断更新数据,所以我想要一些东西,可以处理这一点,而无需我不断手动更新轴。我在下面尝试过,但遇到了一个错误Pandas 在df列-Seaborn中将xticks设置为唯一值,pandas,matplotlib,seaborn,Pandas,Matplotlib,Seaborn,我试图使用pandas列中的唯一值将x记号插入到图形中。我在不断更新数据,所以我想要一些东西,可以处理这一点,而无需我不断手动更新轴。我在下面尝试过,但遇到了一个错误 df = pd.DataFrame({ 'Item' : [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4], 'x' : [-8.0,-4.0,0.5,0.0,0.0,2.0,3.0,5.0,10.0,-2.0,
df = pd.DataFrame({
'Item' : [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4],
'x' : [-8.0,-4.0,0.5,0.0,0.0,2.0,3.0,5.0,10.0,-2.0,4.0,8.0,7.5,1.0,0.0,-2.0,-2.0,-2.0,-6.5,2.5],
'y' : [0.0,1.0,-0.5,5.5,-0.5,0.0,1.0,0.0,-5.0,-2.0,-2.0,-7.0,-0.5,-1.5,-0.5,0.0,1.0,-0.0,5.0,3.5],
})
fig, ax = plt.subplots(figsize = (10,6))
sns.lineplot(data = df,
x = 'Item',
y = 'y',
ci = 68,
ax = ax
)
plt.xticks(np.arange(0, (df['Item'].unique()) + 1, 1))
输出:
如果我理解正确,您可以直接将
xticks
设置为df.Item.unique()
:
ax.set\u xticks(df.Item.unique())
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()