【问题标题】:How do I order my x-axis on pandas bar plot?如何在熊猫条形图上订购我的 x 轴?
【发布时间】:2022-01-15 06:10:53
【问题描述】:

我在一周内必须提交的一个大学项目上苦苦挣扎了几天。 我正在使用一个数据集(主要使用熊猫),我必须分析有关山地探险的信息。 我的条形图工作正常,但每次我仍然遇到同样的问题:我的 x 轴没有按增长顺序排列,这不是最重要的,但它仍然困扰着我。 我一直在网上到处寻找,但找不到任何东西可以解决我的问题。 这是我的代码行:

expeditions['members'].value_counts().plot.bar(figsize=(12,8))

列成员只包含整数,表示每次探险有多少人参加。但这是我得到的:

如何按增长顺序排列 x 轴?我意识到这一定很简单,但我就是不知道该怎么做;我对所有其他图表都有同样的问题......

感谢您的帮助!

【问题讨论】:

    标签: python pandas dataframe bar-chart axis


    【解决方案1】:

    尝试像这样对索引进行排序:

    expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))
    

    【讨论】:

      【解决方案2】:

      value_counts 默认情况下按频率降序对值进行排序。使用sort=False禁用排序:

      expeditions['members'].value_counts(sort=False).plot.bar(figsize=(12,8))
      

      或者在绘图之前对索引进行排序:

      expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))
      

      【讨论】:

        【解决方案3】:

        只是为了说明

        您需要在您的情节之前sort_values / value_countsvalue_counts / sort_index 正如@Bashton 和@mozway 的前两个答案所建议的那样

        import pandas as pd
        import matplotlib.pyplot as plt
        
        # Sample
        expeditions = pd.DataFrame({'members': np.random.randint(1, 10, 100)})
        
        expeditions['members'].sort_values().value_counts(sort=False) \
                              .plot.bar(figsize=(12, 8), legend=False)
        plt.show()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-10-24
          • 2019-06-12
          • 1970-01-01
          • 2017-12-30
          • 2021-06-16
          • 2021-06-07
          相关资源
          最近更新 更多