不能将secondary_lot轴与matplotlib一起使用

时间:2017-12-21 17:42:54

标签: python-3.x pandas matplotlib pandas-groupby yaxis

我有一个包含分组数据的DF,例如:

fieldsX = ['Year_start','Week_start']
f = { 'Integrado':['count'], 'Duration_hours':['min','mean','max'] }
a = a.groupby(fieldsX).agg(f)

这是DF的片段......

                       Duration_hours                      Integrado
                                  min        mean     max      count
Year_start Week_start                                               
2017       1                    428.9  428.900000   428.9          1
           2                      0.5   19.566667   119.8          9
           3                      0.9   14.112500    96.4         16
           4                      1.5    2.850000     4.2          2
           5                      1.8    3.540000     5.5          5
           6                      0.7    2.242857     6.2          7
           7                      0.4  113.075000   696.2          8
           8                      1.0  163.375000  1158.5          8

我试图使用secondary_y [a]轴作为Integrado字段来绘制此图。

ax = a.plot(kind='bar', legend=True, fontsize=8, figsize=(15, 10), secondary_y=['Integrado'])

但我无法实现。所有数据都使用左侧的y轴。

enter image description here

根据[a]和[b]我应该声明一个列表,包括哪些列应该使用辅助轴,但它现在正在工作。

更新:this之后,我设法使用辅助轴。看看。

enter image description here

诀窍是创建一个无花果对象和第二个ax2轴对象。

fig = plt.figure()
ax  = fig.add_subplot(111)
ax2 = ax.twinx()
a.Integrado.plot(kind='bar',ax=ax)
a.Duration_hours.plot(kind='line',ax=ax2)

现在的问题是,在x-axis上,与之前的情节相比,数据(year,week)消失了。

1)关于如何获得x轴信息的想法?

2)为什么参数secondary_y根本不起作用?

谢谢!

[a] - https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html

[b] - http://pandas.pydata.org/pandas-docs/version/0.21/visualization.html

0 个答案:

没有答案