【问题标题】:ggsave() in ggplot for python not savingggplot中的ggsave()用于python不保存
【发布时间】:2016-03-12 06:33:08
【问题描述】:

我已将 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.

【问题讨论】:

    标签: python ggplot2


    【解决方案1】:

    以下满足保存文件名

    ggsave(p,file_name)
    

    【讨论】:

      【解决方案2】:

      找不到图表的原因是它们保存在当前工作目录中。如果您没有更改任何内容,那将是 Python 的默认目录。致电os.getcwd() 获取您当前的目录,然后去那里获取您的图表。或者,您可以通过在调用ggsave 时定义路径来将所有内容保存到预定位置。

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

      我还想指出,关于ggsave 的命名方法,User3926962 很接近,但是如果您使用首先列出的绘图值定义参数,那么您还需要指定 p 是绘图。你需要这样做的原因是因为ggsave 在调用绘图之前调用文件名,所以如果你运行:

      ggsave(p, filename = file_name)
      

      你会得到错误:

      TypeError: ggsave() 获得了参数“文件名”的多个值

      要解决这个问题,只需定义你的情节:

      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)
      

      Link

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 2011-10-15
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多