2017-08-07 97 views
2

当我从我的DataFrame绘制pyploy.subplots时,我没有垂直线条。 数据框中指数看是:当使用matplotlib绘制网格时没有垂直线

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') 

我需要为每个行垂直线。 其实我的身材长相是(当我增加时间间隔,没有为每个月份的指数垂直线): 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() 
+0

添加plt.axvline(I,YMIN = 0,YMAX = 1),其中i必须由几个月来代替 – 2Obe

回答

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