Как избежать ошибочного смешивания двух сюжетов? - PullRequest
0 голосов
/ 02 мая 2020

Я столкнулся с проблемой при запуске моего кода. Таким образом, он охватывает некоторые грабежи данных до тех пор, пока данные не будут доступны для построения графика с использованием matplotlib. Для того, чтобы просто проиллюстрировать случай, я изложил общую идею / результат выше:

#Code for Graph 1, which mixes 2 plots together

plt.xticks(rotation=90)

plt.bar(list_a,list_b,label="Spent", color="orange")

plt.bar(list_c,list_b, label="Count of spent", color="black")

plt.title("Graph 1")

plt.legend()

plt.savefig("Graph 1")


#Code for Graph 2

plt.xticks(rotation=90)

plt.plot(list_d, list_e,label="Cumulative spent")

plt.grid(color="grey",linestyle="--",linewidth=1)

plt.title("Graph 2")    

plt.legend(loc="lower right")

plt.savefig("Graph 2")

Результат:

Право для графика 1: enter image description here

Неправильно для Графа 2: enter image description here

График 2 должен выглядеть следующим образом (я мог бы сгенерировать его правильно, используя Jupyter Notebook вместо PyCharm):

enter image description here

Итак, в общем, график 2 учитывает также данные из графика 1 ... Есть предположения, как этого избежать? Я пытался использовать sleep (), но это не сработало.

1 Ответ

1 голос
/ 02 мая 2020

Вы можете попробовать позвонить plt.close() после того, как закончите работу с каждым графиком.

If you are creating many figures, make sure you explicitly call pyplot.close on the figures you are not using, because this will enable pyplot to properly clean up the memory.

ref: https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.figure.html

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