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)