matplotlib按顺序绘制每月计数

lbsnaicq  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(113)

如何在x轴上以正确的顺序绘制每月事件计数?
我有几个 Dataframe ,如下所示(这是一个示例):

df = pd.DataFrame({'Month': [5, 6, 8, 9, 1, 2, 3, 4, 7, 10, 11, 12], 'Count': [3, 1, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0]})

我的目标是绘制一个月的计数,当我这样做的时候

fig, ax = plt.subplots(1,1)
ax.grid(color='gray', linestyle='-', linewidth=0.1)
plt.setp(ax, xticks=np.arange(1, 13, step=1))
ax.plot(df.Month, df.Count, marker='o')

它以df.Month的顺序绘制。这不是我想要的:

我想要的洋红色(忽略标记...)

我怎么得到这个情节?

c2e8gylq

c2e8gylq1#

使用sort_values

df = df.sort_values('Month')

或者直接从Pandas身上绘图:

import matplotlib.ticker as mticker

fig, ax = plt.subplots(1,1)
df.sort_values('Month').plot(
    x='Month', y='Count', 
    marker='o', legend=False, ax=ax
)
ax.grid(color='gray', linestyle='-', linewidth=0.1)
ax.xaxis.set_major_locator(mticker.MultipleLocator())

输出量:

相关问题