python - 如何绘制 seaborn 中的前 5 个值

标签 python pandas matplotlib

如何绘制此图中看起来最大的前 5 个值? (Wii,NES,GB,DS,X360)

sns.violinplot(x=df['Global_Sales'],y=df['Platform'],data=df)

enter image description here

最佳答案

确保 xy 是列名称,然后对数据进行排序/过滤 参数:

  • 要么使用nlargest (最快):

    sns.violinplot(
        x='Global_Sales',
        y='Platform',
        data=df.nlargest(5, 'Global_Sales')
    )
    
  • sort_valuestail :

        ...
        data=df.sort_values('Global_Sales').tail(5)
    
  • sort_values(ascending=False)head :

        ...
        data=df.sort_values('Global_Sales', ascending=False).head(5)
    

在 OP 的代码中,xydata 列(x=df[ 'Global_Sales']) 而不是列名称 (x='Global_Sales')。如果 xy 是实际数据,则忽略 data 参数,因此需要对 df 进行排序/在绘图命令之前过滤。

关于python - 如何绘制 seaborn 中的前 5 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70040421/

相关文章:

python - Python 3 中的图形、绘图

Python:groupby 和聚合 > 添加到原始 df

python - 使用文件转换器时 PyPy 比 CPython 慢

python - Anki - 字段名称在哪里?

Python:根据其他数据帧的条件创建列

python - 如何使用 pyplot 在相同的 x 轴(日期时间)但不同的 y 轴上绘制折线图和条形图?

python - 无法克服 "You do not have permission to modify this app"

Python Pandas - 通过保持特定顺序对值进行排序

pandas - 规范化多索引数据框中的值?

python - 是否可以在 `matplotlib_venn` 维恩图中放置标签而不是设置大小?