【问题标题】:How to change the order of bar charts in Python?如何在 Python 中更改条形图的顺序?
【发布时间】:2020-05-19 13:12:03
【问题描述】:

我正在尝试绘制total count(y 轴)与day of the month(x 轴)的条形图。

下面显示的sn-p代码对total count进行排序,从左到右降序排列,如下图所示:

Python 会自动对图表进行排序,使最大的条显示在左侧,最小的条显示在右侧,如下所示:

我真正想要的代码是按升序对day of the month 进行排序,而不是对total count 进行排序。

我可以得到一些关于如何解决这个问题的提示吗?

这是我为此使用的一段代码:

for g, sub_df in May_DATA.groupby('Plaza_Id'):
    sub_df['Date'].value_counts().plot(kind='bar')
    plt.title(g)
    plt.show()

【问题讨论】:

  • 您的日期列是日期时间吗?

标签: python python-3.x pandas matplotlib bar-chart


【解决方案1】:

假设May_DATA['Data'] 列是日期时间(您可以使用df.info 检查列的数据类型),您可以在绘图循环之前按日期对该列进行排序。比如:

for g, sub_df in May_DATA.sort('Date').groupby('Plaza_Id'):
    sub_df['Date'].value_counts().plot(kind='bar')
    plt.title(g)
    plt.show()

如果May_DATA['Date'] 列不是日期时间,您需要先使用May_DATA['Date'] = pd.to_datetime(May_DATA.Date) 将其更改为日期时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多