ggsave() в ggplot для python не сохраняется

Я импортировал ggplot в python и запускаю следующий скрипт с надеждой, что ggsave() фактически сохранит мой график где-то, однако, похоже, что он ничего не записывает в файл.png для дальнейшего использования. Сюжет возвращается, когда я возвращаю его как p в моем интерпретаторе, но мне приходится сохранять его вручную.

import ggplot

#d as some pandas dataframe

k = [2,3,4,5]

for i in k:
    p = ggplot(d, aes(x='x', y='y', color='cluster'+str(i))) + geom_point(size=75) + ggtitle("Cluster Result: "+str(i))
    file_name = "Clusters_"+str(i)+'.png'  
    #this is not saving to any directory  
    ggsave(p,file=file_name)

Это вывод в интерпретаторе... но файл не сохранен ни в одном каталоге.

Saving 11.0 x 8.0 in image.
Saving 11.0 x 8.0 in image.
Saving 11.0 x 8.0 in image.
Saving 11.0 x 8.0 in image.
Saving 11.0 x 8.0 in image.
Saving 11.0 x 8.0 in image.

2 ответа

Решение

Причина, по которой вы не можете найти свои графики, заключается в том, что они сохранены в текущем рабочем каталоге. Если вы ничего не изменили, это будет каталог по умолчанию для Python. Вызов os.getcwd() чтобы получить ваш текущий каталог, а затем перейдите туда для ваших графиков. Кроме того, вы можете сохранить все в заранее определенном месте, указав путь при вызове ggsave,

ggsave(plot = p, filename = file_name, path = "C:\Documents\Graphs")

Я также хотел бы отметить, что User3926962 близок, что касается именования методов для ggsave, но если вы определили свои параметры с указанием значения графика в первую очередь, вам также необходимо указать, что p является графиком. Причина, по которой вам нужно это сделать, заключается в том, что ggsave вызывает имя файла перед вызовом графика, так что если вы запустите:

ggsave(p, filename = file_name)

вы получите ошибку:

TypeError: ggsave () получил несколько значений для аргумента 'filename'

Чтобы это исправить, просто определите свой сюжет:

ggsave(plot = p, filename = file_name)

Источник:

ggsave(filename = None, plot = None, device = None, format = None,
               path = None, scale = 1, width = None, height = None, units = "in",
               dpi = 300, limitsize=True, **kwargs)

Ссылка на сайт

Ниже удовлетворены сохранением имени файла

ggsave(p,file_name)
Другие вопросы по тегам