简体   繁体   English

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

[英]How to return a matplotlib.figure.Figure object from Pandas plot function

I have a dt :我有一个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

And use pandas function plot to create a barplot object并使用 pandas 函数plot创建一个 barplot 对象

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

But I want a <matplotlib.figure.Figure object> instead to pass to other function, just like the object type below:但我想要一个<matplotlib.figure.Figure object>而不是传递给其他函数,就像下面的对象类型:

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

So how can I transform <matplotlib.axes.AxesSubplot object> to <matplotlib.figure.Figure object> or directly return "Figure object" from Pandas plot ?那么如何将<matplotlib.axes.AxesSubplot object>转换为<matplotlib.figure.Figure object>或直接从 Pandas plot 返回“Figure object”?

You can get the figure from the axes object:您可以从轴对象中获取图形:

ax.get_figure()

Full example:完整示例:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM