在pandas中创建时间序列条形图的推荐方法是什么,最好使用像pandas中常见的漂亮的分层日期时间标记?大熊猫的条形图分别标出每个酒吧,这造成了一团糟。我曾经通过混合pandas和matplotlib来实现这一目标,如:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(60, 2), index=pd.date_range('2000-01-01', periods=60),
columns=list('AB'))
# Line plot using pandas (sets up X datetime axis)
ax = df.A.plot()
# Add bars with matplotlib
ax.bar(df.index, df.B)
但在当前版本(matplotlib:2.1.2,pandas:0.22.0) ax.bar()中断:
ValueError: Unrecognizable date '2000-01-01T00:00:00.000000000'
编辑:我认为在以下(或类似)版本中可以将pandas line plot与matplotlib条形图混合:numpy:1.13.0,matplotlib:2.0.2,pandas:0.20.2。以下是一个示例图。
上面的图是由此代码生成的(其中 df 有列 p 和 tempv ):
fig, ax = plt.subplots()
# Plot invisible precipitation to set up X axis
df.p.plot(ax=ax, alpha=0, label='_')
# Plot temperature as bar
ax.bar(df.index, df.p, color='#348ABD', edgecolor='#348ABD', label='Precipitation')
# Plot precipitation on the right axis
df.tempv.plot(ax=ax, secondary_y=True, color='DarkOrange', label='Temperature' )
非常感谢任何指示,
亚历