Возникли проблемы с разбрасыванием объекта топора участками морского побережья - PullRequest
1 голос
/ 12 июня 2019

У меня проблемы с тем, чтобы что-то вроде этого заработало:

def make_plots(data, ax):
    sns.lineplot(data,..., ax=ax)
    sns.scatterplot(data, ...., ax=ax)
    return ???

fig, ax = plt.subplots()
for i in range(5):
    make_plot(data[i], ax)
plt.savefig("all5runs.png")

Итак, у меня есть функция, которая строит линейную диаграмму и диаграмму рассеяния, возможно, на одной оси. Я хотел бы сохранить все 5 прогонов данных, нанесенных на одну фигуру, а затем сохранить фигуру. Я уверен, что make_plots() должен возвращаться, или если я правильно передаю данные фигуры. Как я могу сделать эту работу?

Изменить: В настоящее время я просто получаю пустой холст в all5runs.png

1 Ответ

1 голос
/ 12 июня 2019

IIUC, вам нужно что-то вроде этого: поскольку ax определяется с глобальной областью действия и передается функции в качестве аргумента, изменения будут обновляться во время каждого вызова цикла для

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

def make_plots(x, y, ax):
    sns.lineplot(x, y, ax=ax)
    sns.scatterplot(x, y, ax=ax)
    return 

fig, ax = plt.subplots()

for i in range(5):
    x = np.arange(5)
    make_plots(x, x*(i+1), ax)
# plt.show() # Uncomment for showing the figure
plt.savefig('all5runs.png')    
* 1004.*enter image description here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...