plot line over boxplot using pandas DateFrame

放肆的年华 提交于 2019-12-06 03:55:26

问题


I have a pandas DateFrame with 16 columns corresponding years (2000 to 2015) and 12 lines with values for each month.

I'm trying plot a boxplot and a line with 2015 values in same fig in order to compare, using this code:

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('hidro_ne.xlsx')
fig, ax = plt.subplots()
ax1 = df[2015].plot(ax=ax, linewidth=2, legend='2015',color='red')
df.T.plot.box(yticks=range(0, 100, 5), ax=ax1)
plt.show()

In 2015 column I have data from January until September, but I get a shift line plot, from yline until september:

In fact the line should start at "Jan" and goes until "set", and not finish in "ago":

>>> df[2015]
Jan    16.41
Fev    18.34
Mar    23.52
Abr    27.40
Mai    26.96
Jun    25.34
Jul    22.49
Ago    18.38
Set    13.87
Out      NaN
Nov      NaN
Dez      NaN

I'm running the script using Python 3.4.3, pandas 1.7.0, over Windows 8.1.

How can I fix it?


回答1:


Thank you so much, pbreach.

It works to me.

I made:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('hidro_ne.xlsx')

fig, ax = plt.subplots()
ax.plot(list(range(1,13)), df[2015].values, 'r', linewidth=2)
ax.legend(['2015'])
df.T.plot.box(yticks=range(0, 105, 5), ax=ax)



来源:https://stackoverflow.com/questions/33578342/plot-line-over-boxplot-using-pandas-dateframe

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!