熊猫DataFram图xaxis.set_major_locator在条形图上将刻度线留空

时间:2019-04-10 18:52:45

标签: python pandas dataframe matplotlib

我目前有一个像这样的熊猫数据框

                     items_out       items_in
day
2018-04-10              -5               0
2018-04-11               0               2
2018-04-12              -2               3
2018-04-13               0               0
2018-04-14               0               0
2018-04-15               0               0
2018-04-16               0               4
2018-04-17               0               0
2018-04-18              -3               5
2018-04-19               0               0
2018-04-20               0               0
2018-04-21               0               7
2018-04-22               0               0
2018-04-23               0               0
2018-04-24               0               0

我正在尝试创建如下所示的条形图

enter image description here

问题是日期根本没有显示。这是我目前正在尝试的代码以及我尝试过的一些评论内容(我一直在尝试各种事情)

df = pd.DataFrame(data=inventory_movement)
df.set_index('day',inplace=True)
plt.rcParams['figure.figsize'] = [18, 10]
plt.rcParams["axes.grid.axis"] = "y"
#plt.rcParams["axes.grid"] = True

fig, ax = plt.subplots()
ax1 = df.plot(kind='bar',y='items_out',ax=ax,color='r',width=.7)
ax2 = df.plot(kind='bar',y='items_in',ax=ax,color='g',width=.7)\

ax1.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
ax2.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax2.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))


plt.gcf().autofmt_xdate()

#ax.get_xaxis().set_major_locator(mdates.WeekdayLocator())
#ax.get_xaxis().set_major_formatter(IndexFormatter(df.index))


plt.savefig('/tmp/inventory_change_rate.png',bbox_inches='tight')

我在这里尝试过这种方法,但是它在左边给了我一个约会,仅此而已。所以我认为我在某种程度上错误地形成了数据框?

Plotting a Datetime Bar Graph with Pandas with different xlabels

0 个答案:

没有答案