Pandas 在df列-Seaborn中将xticks设置为唯一值

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,

我试图使用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,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()