如何从Pandas绘图函数返回一个matplotlib.figure.Figure对象

16

我有一个 dt 元素:

>>> dt
            sales                mg         
ID         600519   600809   600519   600809
RPT_Date                                    
20060331  13.5301   5.8951   9.4971   3.0408
20060630   6.6048   2.4081   4.3088   1.4040
20060930  12.3889   3.6053   9.1455   2.0754
20061231  16.5100   3.3659  12.4682   1.8810
20070331  15.8754   5.9129  11.5833   3.6736
20070630  10.4155   3.5759   7.8966   2.2812
20070930  18.2929   3.5280  14.3552   2.1584
20071231  27.7905   5.4510  23.7820   3.2568

使用pandas函数plot创建一个条形图对象

>>> fig = dt.plot(kind='bar', use_index=True)
>>> fig
<matplotlib.axes.AxesSubplot object at 0x0B387150>

但是我想要一个<matplotlib.figure.Figure object>,以便传递给其他函数,就像下面的对象类型一样:

>>> plt.figure()
<matplotlib.figure.Figure object at 0x123A6910>

我该如何将<matplotlib.axes.AxesSubplot object>转换为<matplotlib.figure.Figure object>,或者直接从 Pandas 绘图返回 "Figure object"?

1个回答

33
您可以从轴对象中获得图形:

您可以从轴对象中获得图形:

ax.get_figure()

完整示例:

df = pd.DataFrame({'a': range(10)})
ax = df.plot.barh()
ax.get_figure()

我在函数的返回语句中使用了这个,以获取代表我的图形的对象。 - Bikash Gyawali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接