Pandas plot函数返回np.array - 如何让它返回AxesSubplot

时间:2016-11-13 18:34:38

标签: python pandas matplotlib histogram

我正在使用pandas绘图功能进行直方图子图。

    df.plot.hist(subplots = True)

我想在每个图中添加一条垂直线。我知道你可以使用

在matplotlib图中做到这一点
    plt.axvlines

但是如何访问pandas生成的各个子图? 我看了看:Is there a way to pass different vertical lines to each subplot when using pandas histogram with "by=somevar"? 但有人可以给我一个如何做到这一点的实际例子吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

Axes返回df = pd.DataFrame(np.random.random((100,5))) axs = df.plot.hist(subplots = True) for ax in axs: ax.axvline(0.5) 个对象的列表。您只需迭代每个轴并添加垂直线

{{1}}

答案 1 :(得分:0)

我正面临与您提到的相同的问题:

ax = daily_returns.hist(bins=20)  # changing no. of bins to 20
print(ax)

通过打印结果,我得到了:

[[<matplotlib.axes._subplots.AxesSubplot object at 0x0000021F1BEBEF28>
  <matplotlib.axes._subplots.AxesSubplot object at 0x0000021F1C0F8208>]]

因此,在我的情况下,我将需要执行ax [0] [0]和ax [0] [1]之类的操作来到达轴