混合pandas和matplotlib日期图

时间:2018-02-13 23:35:11

标签: pandas matplotlib

在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。以下是一个示例图。

enter image description here

上面的图是由此代码生成的(其中 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' )

非常感谢任何指示,

亚历

0 个答案:

没有答案