문제

python ggplot is awsome, but I have trouble with a memory problem.

import pandas as pd
from ggplot import *


data = pd.DataFrame({"date": [1, 2, 3],
                     "value": [10, 20, 30]})

for i in range(30):
    gg = ggplot(aes(x='date', y='value'), data=data) + geom_point(alpha=0.5)
    print(gg)
    f = "fig{}.png".format(i)
    ggsave(f, gg)

this code displays RuntimeWarning(ggplot-0.4.7).

/lib/python2.7/site-packages/matplotlib/pyplot.py:412: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_num_figures`).

How can I delete old figures ?

도움이 되었습니까?

해결책

ggplot uses matplotlib's pyplot interface. You can close all the existing pyplot figures with:

# Importing this library as plt is a convention, same
# importing numpy as np, or pandas as pd
import matplotlib.pyplot as plt
plt.close('all')

ggplot is still in a pretty early stage of development, so hopefully some of these issues will get smoothed over as it gets closer to a stable release.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top