Именование Dynami c с использованием Matplotlib savefig - PullRequest
1 голос
/ 04 марта 2020

У меня есть df с некоторым количеством столбцов, и я создаю двумерные графики, используя al oop примерно так:

for col in df.columns[2:len(df.columns)]:
    sns.factorplot(x='xvar', y=col,  data=df)
    sns.despine(offset=10, trim=True)

    plt.show()
    plt.clf()

plt.close()

Вместо отображения всех графиков, которые я хотел бы сохранить с соглашением об именах [xaxis] _y [axis] .png. Однако я не уверен, как передать более 1 элемента через plt.savefig (), где один из элементов будет меняться каждый раз. Я видел несколько ответов, которые основаны на списках ( 1 , 2 ), но я надеюсь, что есть способ достичь тех же результатов, не создавая списки для прохождения. .

Ответы [ 2 ]

2 голосов
/ 12 марта 2020

Поскольку python 3.6, вы можете использовать f-strings для динамического форматирования строк:

for col in df.columns[2:]:
    sns.factorplot(x='xvar', y=col, data=df)
    sns.despine(offset=10, trim=True)
    plt.savefig(f'xvar_{col}.png')
2 голосов
/ 04 марта 2020
plt.savefig('var1' + '_' + col' + '.png')

Достиг желаемого результата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...