使用matplotlib绘制网格时没有垂直线

时间:2017-08-07 18:28:34

标签: python pandas matplotlib

当我从我的DataFrame中绘制pyploy.subplots时,我没有垂直线。 DataFrame索引看起来:

df_month.index
DatetimeIndex(['2016-01-31', '2016-02-29', '2016-03-31', '2016-04-30',
               '2016-05-31', '2016-06-30', '2016-07-31', '2016-08-31',
               '2016-09-30', '2016-10-31', '2016-11-30', '2016-12-31'],
              dtype='datetime64[ns]', freq='M')

我需要每行的垂直线。 实际上我的数字看起来(当我增加时间间隔时,每个1月份的索引都有垂直线): enter image description here

这是一个代码:

seaborn.set()
fig, axis = plt.subplots(nrows=6, sharex=True)

df_month.sum(axis=1).plot(ax=axis[0], marker = '.')

axis[0].set_title('Sum of costs')

for index, category in enumerate(df_month.columns.unique(), start=1):
    df_month[category].sum(axis=1).plot(ax=axis[index], marker = '.')
    axis[index].set_title(category)

plt.show()

1 个答案:

答案 0 :(得分:0)

您必须使用命令为每个轴对象ax分别绘制次要和主要刻度的网格线:

ax.grid(b='on', which='major', color='k', linewidth=.5)
ax.grid(b='on', which='minor', color='k', linewidth=.25)

您必须在子图的所有轴对象上循环实现此代码。

在此处查找更多信息:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.grid.html