一次处理多个绘图对象

时间:2018-12-03 11:31:56

标签: python dataframe matplotlib plot seaborn

我有一个带有循环的方法,该方法可以创建由给定数据帧的列表输入给出的多个箱形图:

def create_boxplots(data_frame):
    x_axis_attr = [columnA, columnB, columnC]
    for index in range(len(x_axis_attr)):
         boxplot = sns.boxplot(x=data_frame[x_axis_attr[index]])
         plot_dict.update({"boxplot " + x_axis_attr[index]: boxplot})

    return plot_dict

图的保存由另一个模块处理,因此创建的图将在dict()中返回。

事实证明,这些图未保存在不同的对象中:

[<matplotlib.axes._subplots.AxesSubplot object at 0x181640D0>, 
<matplotlib.axes._subplots.AxesSubplot object at 0x181640D0>, 
<matplotlib.axes._subplots.AxesSubplot object at 0x181640D0>]

即使我将图形保存为:boxplot.get_figure()

[<matplotlib.figure.Figure object at 0x18C37F30>, 
 <matplotlib.figure.Figure object at 0x18C37F30>, 
 <matplotlib.figure.Figure object at 0x18C37F30>]

注意: 1.如果在循环中执行plt.show(),则会正确显示所有箱形图

我如何确保所有地块都有自己的对象,并且共享内存? 预先感谢

0 个答案:

没有答案