为了账号安全,请及时绑定邮箱和手机立即绑定

如何隐藏 matplotlib 条形图中没有值的条形图

如何隐藏 matplotlib 条形图中没有值的条形图

长风秋雁 2022-07-26 10:16:29
我有一个代码可以绘制每月的总交易量。数据集不包括所有月份(仅从 10 到 4)。然而,当我绘制它时,它仍然包括从 5 到 9 的月份(当然,没有条形图)。我想隐藏它们,因为它们甚至不是数据集的一部分。这是我得到的:这是我的代码df_month = df.groupby('Month')['Transaction'].count()months_unique = df.Month.unique()df_month = df_month.reindex(months_unique, axis=0) # This line and the line above are to reorder the months as they are in the original dataframe (the first line orders them starting from 1. wrong)df_month = df_month.to_frame()df_month.reset_index(level=0, inplace=True) #resetting the index istead of having the month as an index. plt.figure(figsize=(20, 10)) # specify the size of the plotplt.bar(months_unique, df_month['Transaction'])plt.suptitle('Transactions over the months', fontsize=25) # Specify the suptitle of the plotplt.title('Using Data from Years October - April', fontsize=20) # Specify the title of the plotplt.xlabel('month', fontsize=20) # Specify the x labelplt.ylabel('number', fontsize=20) # Specify the y labelplt.setp(plt.gca().get_xticklabels(),fontsize=20)plt.setp(plt.gca().get_yticklabels(), fontsize=20)编辑结果如何df_month = df.groupby('Month')['Transaction'].count()?:使用to_frameand后reset_index:
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

最简单的方法可能是铸造你month以str避免matplotlib填补缺失的数字:


plt.bar(months_unique.astype(str), df_month['Transaction'])

...

或者干脆让pandas为您处理绘图:


df.groupby('Month')['Transaction'].count().plot(kind="bar")

...

plt.show()


查看完整回答
反对 回复 2022-07-26
?
千万里不及你

TA贡献1784条经验 获得超9个赞

在绘图代码之前添加以下行。

df_month_for_plot = df_month[df_month['Transaction']!=0]

然后绘图df_month_for_plot而不是df_month.


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信