설정
은 항상 당신의 문제를 재현 샘플 데이터를 제공합니다.
좀 여기
cols = pd.Index(['TJ', 'WH', 'SAFE', 'Walmart', 'Generic'], name='Store')
dates = ['2015-10-23', '2015-10-24']
fruit = ['carrots', 'pears', 'mangos', 'banannas',
'melons', 'strawberries', 'blueberries', 'blackberries']
rows = pd.MultiIndex.from_product([dates, fruit], names=['datestring', 'fruit'])
df = pd.DataFrame(np.random.randint(50, size=(16, 5)), rows, cols)
df
우선 제공 한, 당신은 이제 우리는 우리가 플롯 할 수 있음을 알 수 pd.to_datetime
df.index.set_levels(pd.to_datetime(df.index.levels[0]), 0, inplace=True)
와 행 인덱스의 첫 번째 레벨을 변환 할 직관적으로
# fill_value is unnecessary with the sample data, but should be there
df.TJ.unstack(fill_value=0).plot()
우리는 당신을 감사 @piRSqaured
fig, axes = plt.subplots(5, 1, figsize=(12, 8))
for i, (j, col) in enumerate(df.iteritems()):
ax = axes[i]
col = col.rename_axis([None, None])
col.unstack(fill_value=0).plot(ax=ax, title=j, legend=False)
if i == 0:
ax.legend(bbox_to_anchor=(1.05, 1), loc='upper left', ncol=1)
fig.tight_layout()
로 모든 플롯 할 수 있습니다. 매우 도움이되는 대답; matplotlib가 지금 어떻게 작동하는지 더 잘 이해할 수 있습니다. –