ggplot中的ggsave()for python没有保存

时间:2015-12-07 15:29:55

标签: python ggplot2

我已经将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 个答案:

答案 0 :(得分:4)

找不到图表的原因是因为它们保存在当前工作目录中。如果您没有更改任何内容,那将是Python的默认目录。调用static func sortAndSeparateWildCards(wildCardRank : Rank, inout cards : [Card], inout nonWildCards : [NonJoker], inout wildCards : [Card]) { //cards contains the list to be sorted if cards.isEmpty {return} nonWildCards.removeAll() wildCards.removeAll() for card in cards { if (card.isWildCard(wildCardRank)!) {wildCards.append(card)} else {nonWildCards.append(card as! NonJoker)} } cards = nonWildCards.sort(NonJoker.cardComparatorRankFirstDesc) cards += wildCards } 获取当前目录,然后转到图表。或者,您可以通过在调用os.getcwd()时定义路径将所有内容保存到预定位置。

ggsave

我还要注意,对于ggsave(plot = p, filename = file_name, path = "C:\Documents\Graphs") 的命名方法,User3926962已经关闭,但如果您使用首先列出的绘图值定义参数,那么您还需要指定p是情节。你需要这样做的原因是因为ggsave在调用绘图之前调用了文件名,所以如果你运行:

ggsave

你会收到错误:

  

TypeError:ggsave()为参数'filename'

获取了多个值

要解决此问题,只需定义您的情节:

ggsave(p, filename = file_name)

<强>来源:

ggsave(plot = p, filename = file_name)

Link

答案 1 :(得分:0)

以下满意保存文件名

ggsave(p,file_name)