使用pandas DateFrame在boxplot上绘制线条

时间:2015-11-07 02:00:07

标签: python pandas boxplot

我有一个pandas DateFrame,其中16列对应年份(2000年到2015年),12行有每个月的值。

我尝试使用此代码在同一图中绘制一个箱线图和一个2015年值的线,以便进行比较:

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()

在2015年专栏中我有1月到9月的数据,但我得到一个从yline到9月的换班线图:

enter image description here

事实上,这条线应该从" Jan"直到"设置",并且没有在"之前完成":

>>> 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

我在Windows 8.1上使用Python 3.4.3,pandas 1.7.0运行脚本。

我该如何解决?

1 个答案:

答案 0 :(得分:4)

非常感谢,pbreach。

对我有用。

我做了:

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)

enter image description here