大熊猫次级y轴为箱形图

时间:2015-03-03 19:14:00

标签: python pandas boxplot

我想在大熊猫的某些箱形图中使用辅助y轴,但它似乎不可用。

import numpy as np
import pandas as pd

data = np.random.random((10, 5))
data[:,-1] += 10  # offset one column
df = pd.DataFrame(data)

现在,使用默认的线图,它很容易绘制到第二个y轴:

df.plot(kind='line', secondary_y=[4])

normal line plot

但如果我使用boxplot样式,它就不起作用了:

df.plot(kind='box', secondary_y=[4])

box plot without second yaxis

有没有办法(可能通过matplotlib)我可以让熊猫为箱线图绘制2个轴?使用boxplot()方法会更好,但我会采用plot()。感谢。

1 个答案:

答案 0 :(得分:2)

使用matplotlib实际上并不那么难。

In [22]: fig, ax = plt.subplots()

In [23]: df[[0, 1, 2, 3]].plot(kind='box', ax=ax)
Out[23]: <matplotlib.axes._subplots.AxesSubplot at 0x4890978>

In [24]: ax2 = ax.twinx()

In [25]: ax2.boxplot(df[4], positions=[4])

In [27]: ax.set_xlim(0, 5)
Out[27]: (0, 5)

还有一些关于造型,刻度​​标签等的清理工作。但这应该让你开始。