【问题标题】:How to save multiple plot in a loop?如何在循环中保存多个绘图?
【发布时间】:2016-05-01 14:52:01
【问题描述】:

我试图在一个循环中保存多个绘图,但它会将它们相互绘制。我该怎么办?

示例代码:

import pandas as pd
import seaborn as sns
data=pd.DataFrame({'a':[1,2,3,4,5,6],'b':[0,1,1,0,1,1],'c':[0,0,0,1,1,1]})
for i in ['b','c']:
    img=sns.boxplot(data.a, groupby=data[i])
    fig = img.get_figure()
    fig.savefig(i)

【问题讨论】:

  • 定位这些图像的代码在哪里?
  • @przemo_li,我没有得到你的提及!图片将保存在您的工作场所。

标签: python pandas plot seaborn


【解决方案1】:

您需要清除循环中滚动的上一个图中的数据。这应该可以工作,注意 fig.clf() 作为每个循环的结尾:

import pandas as pd
import seaborn as sns
data=pd.DataFrame({'a':[1,2,3,4,5,6],'b':[0,1,1,0,1,1],'c':[0,0,0,1,1,1]})
for i in ['b','c']:
    img=sns.boxplot(data.a, groupby=data[i])
    fig = img.get_figure()
    fig.savefig(i)
    fig.clf()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 2019-06-30
    • 1970-01-01
    • 2020-02-14
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多