问题标签 [ggsave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
44 浏览

r - 如何将 phytools 表形图保存为图像?

我正在使用 R 包 phytools 中的 phenogram() 函数沿相对时间 (x) 和表型轴绘制系统发育图,在本例中为年平均温度 (y)。它显示在绘图窗口中,但它似乎不作为绘图对象存在,我可以使用 ggsave 在外部将其保存为图像。

这是主要的代码和情节。如有必要,我可以提供一个最小可重现的示例,但它有很多代码,所以我希望这可能是一个非常容易和明显的解决方法。

使用plot = last_plot()保存而不是以前使用 ggtree 绘制的非表型树。将我的表形图分配给一个名为“tree_plot”的对象,然后在 ggsave 中调用它会产生错误:

Error: $ operator is invalid for atomic vectors

这似乎是因为当我将表形图分配给一个对象时,它只保存了树中每个物种的 x 和 y 坐标(即不是树拓扑、分支长度、轴标签、颜色等)。同样,使用png()不起作用——它只会产生一个点图,其中 x 和 y 坐标在 tree_plot 中列出。

有谁知道 R 在显示图表时理解我的表象图是什么类型的对象(如下所示),以及我如何保存它,而不是物理单击 RStudio 中的导出菜单?

这就是我要保存的情节的样子

0 投票
0 回答
26 浏览

r - 根据 facet_grid 中的行数在 ggsave 中定义“高度”的函数

对于我的数据列表(data_l)的每个元素,我得到了一个带有这个简单函数的图:

我固定在ggsave20 厘米的高度。但是,根据构面的数量,必须针对列表的每个元素调整绘图大小。

是否可以为“高度”定义一个函数来ggsave考虑 in 的rows数量facet_grid?(如果是 1 行,则为 10 厘米facet_grid,如果是 2 行,则为 20 厘米,...)

0 投票
0 回答
67 浏览

r - ggsave 到 Windows 上的剪贴板

我想ggsave在 Windows 上在不离开 RStudio 的情况下在剪贴板中绘图。已经询问了基本 R graphics 的类似内容,但我想使用ggplot+ ggsave

示例绘图操作:

当然,在文件资源管理器中导航到工作目录/plot.png,右键单击文件并复制它并不难,但这需要额外的点击和时间。

一种可能的策略可能是尝试然后通过system()调用复制到剪贴板,例如:

但是我很难找到正确的 windows 命令,至少在没有下载其他实用程序的情况下。由于 base RsavePlot()能够保存到剪贴板中,所以应该有一些方法可以做到这一点,对吧?

0 投票
1 回答
49 浏览

r - 如何在 R 中使用带有 ggpie 函数的循环并在数据帧之后保存文件名?

我已经严重依赖其他几个 SO 帖子,但似乎无法超越这个。以下是我使用过的参考资料:

在多个数据帧上使用定义的 ggplot 函数循环

在 R 中循环以创建和保存具有指定名称的一系列 ggplot2 图

我的目标是使用循环从数据框列表中保存每个饼图:“Sample_List”(这将更长)。不过,我不断收到此错误,并且很难过:

数据:

DZmix_SC1:

DZmix_5_SC:

DZmix_PL3:

这是我到目前为止所拥有的:

最终我想用一个有效的 ggsave 函数替换循环中的 print 函数......这是我的努力:

在此先感谢您的帮助!!

0 投票
0 回答
37 浏览

ggsave - UseMethod(“grid.draw”)中的ggsave错误:没有适用于“grid.draw”的方法应用于“c('ggsurvplot','ggsurv','list')”类的对象

所以我用生存曲线做了一个ggplot。

)

我使用以下代码遇到了这个错误。

UseMethod(“grid.draw”)中的错误:没有适用于“grid.draw”的方法应用于“c('ggsurvplot','ggsurv','list')”类的对象

如果我不指定 plot 参数并且只保存默认的最新图,它工作正常。

0 投票
0 回答
54 浏览

r - 从 ggplot 保存大型 SVG 图像时出现问题(丢失的绘图元素)

我正在生成多面图 ( ggplot/ ggsave) 作为 SVG 文件,以在将转换为 PDF 的 WORD(Office 365、Windows 10)文档中使用。

作为 WORD 限制的一种解决方法,我希望将 SVG 尺寸增加 10 倍(例如,16.5 厘米的宽度变成 165 厘米,如后所述)。当我以正常尺寸(即 16.5 厘米)保存时,没有问题,但使用较大尺寸(即 165 厘米)时,SVG 文件会丢失绘图的细节和元素。

这是一个工作示例:

这产生(转换为位图,所以我可以上传它):

尺寸符合最终展览需求的 SVG 图

此时 R 或 ggplot2 没有问题。导入WORD,一切看起来都很棒。

但是,当 WORD 文档导出为(或另存为或打印到)PDF 时,线条(区域的顶部边框)的粗细(大小)会增加。

这是由 WORD 引起的,它根据原始图像尺寸将最小线条粗细设置为 96 dpi 时的 1 个像素。建议的解决方案是将 SVG 尺寸设置为显着更大(即,因子 10 或 100),然后在将图像插入 WORD 后调整其大小。[ 1 ]

<SVG>您可以使用文本编辑器在 SVG 文件的标签中手动更改尺寸。我已经对此进行了测试,并且该解决方案有效。PDF 版本中的线条粗细显示正确,并且由于 SVG 文件是矢量图形,将尺寸乘以 10 甚至 100 不会影响文件大小(除了添加文本来设置尺寸,这是微不足道的)。

这是一个相对容易的修复;但是,最好省略手动修改步骤,只需将 SVG 保存为 R 中的较大尺寸。

下面应该保存 SVG 图的 10 倍大尺寸的版本(注意添加limitsize = FALSE是必要的,因为图像现在在任一尺寸上都大于 50 英寸)。

这不会按预期保存。生成的图像(再次转换为位图并缩放以供上传)如下所示:

尺寸因子为 10 的 SVG 图

缺少刻面条、轴标签/文本、网格线和 alpha 设置。

这是什么原因造成的?有没有更好的方法来缩放图像尺寸同时保留绘图的外观?

0 投票
1 回答
36 浏览

r - ggsave() 失败并在 png_dev(..., res = dpi, units = "in") 中出现错误:无法启动 png() 设备

当我尝试使用 将 ggplot 保存到新目录时ggsave(),出现错误。

产生错误:

0 投票
1 回答
26 浏览

r - 有没有办法将 officedown::rdocx_document() 的设备输出从 .jpg 更改为 .emf?

在 R Mardown 中使用officedown::rdocx_document时,Office Word 输出会将绘图包含为 .jpg 图像,尽管我希望自动以 .emf(增强的元文件)格式包含我的 R markdown 的绘图。

我知道使用该功能ggsave(),您可以将设备调整为 .emf,如下例所示:

有没有办法使用 officedown::rdocx_document 作为输出ggsave来更改RMarkdown (.Rmd) 中绘图的设备输出?

0 投票
1 回答
57 浏览

r - 4.1.2 R 版本导致 ggplot 出现一些问题

Measurements_l我有一个我曾经使用过的 df 列表lapply和一个function包含ggplot来绘制每个列表的列表:

使用最新的 R 版本(4.1.2),我遇到了一些问题:

ggsave 被包含在我的ggplot 功能中,我不知道如何解决这个问题。任何的想法 ?由于这个较新版本,我不想重写所有脚本中的所有函数。

此外,为什么不能再对 ggplot 对象使用“cm”单位?

可重复的示例(导致 4 个图表)

0 投票
1 回答
21 浏览

r - 如何在R中的同一个pdf中保存2个重叠的独立ggplots?

我有 2 个 ggplots:plot1 和 plot2

当我使用 R 在 R 中显示它们时:

我得到了重叠,但是当我想将这些重叠的图像保存为 PDF 时,这是不可能的:

有人知道方法吗?

也许用ggplot_add?

谢谢!