问题标签 [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.
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 中的导出菜单?
r - 根据 facet_grid 中的行数在 ggsave 中定义“高度”的函数
对于我的数据列表(data_l
)的每个元素,我得到了一个带有这个简单函数的图:
我固定在ggsave
20 厘米的高度。但是,根据构面的数量,必须针对列表的每个元素调整绘图大小。
是否可以为“高度”定义一个函数来ggsave
考虑 in 的rows
数量facet_grid
?(如果是 1 行,则为 10 厘米facet_grid
,如果是 2 行,则为 20 厘米,...)
r - ggsave 到 Windows 上的剪贴板
我想ggsave
在 Windows 上在不离开 RStudio 的情况下在剪贴板中绘图。已经询问了基本 R graphics 的类似内容,但我想使用ggplot
+ ggsave
。
示例绘图操作:
当然,在文件资源管理器中导航到工作目录/plot.png,右键单击文件并复制它并不难,但这需要额外的点击和时间。
一种可能的策略可能是尝试然后通过system()
调用复制到剪贴板,例如:
但是我很难找到正确的 windows 命令,至少在没有下载其他实用程序的情况下。由于 base RsavePlot()
能够保存到剪贴板中,所以应该有一些方法可以做到这一点,对吧?
r - 如何在 R 中使用带有 ggpie 函数的循环并在数据帧之后保存文件名?
我已经严重依赖其他几个 SO 帖子,但似乎无法超越这个。以下是我使用过的参考资料:
在 R 中循环以创建和保存具有指定名称的一系列 ggplot2 图
我的目标是使用循环从数据框列表中保存每个饼图:“Sample_List”(这将更长)。不过,我不断收到此错误,并且很难过:
数据:
DZmix_SC1:
DZmix_5_SC:
DZmix_PL3:
这是我到目前为止所拥有的:
最终我想用一个有效的 ggsave 函数替换循环中的 print 函数......这是我的努力:
在此先感谢您的帮助!!
ggsave - UseMethod(“grid.draw”)中的ggsave错误:没有适用于“grid.draw”的方法应用于“c('ggsurvplot','ggsurv','list')”类的对象
所以我用生存曲线做了一个ggplot。
)
我使用以下代码遇到了这个错误。
UseMethod(“grid.draw”)中的错误:没有适用于“grid.draw”的方法应用于“c('ggsurvplot','ggsurv','list')”类的对象
如果我不指定 plot 参数并且只保存默认的最新图,它工作正常。
r - 从 ggplot 保存大型 SVG 图像时出现问题(丢失的绘图元素)
我正在生成多面图 ( ggplot
/ ggsave
) 作为 SVG 文件,以在将转换为 PDF 的 WORD(Office 365、Windows 10)文档中使用。
作为 WORD 限制的一种解决方法,我希望将 SVG 尺寸增加 10 倍(例如,16.5 厘米的宽度变成 165 厘米,如后所述)。当我以正常尺寸(即 16.5 厘米)保存时,没有问题,但使用较大尺寸(即 165 厘米)时,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 英寸)。
这不会按预期保存。生成的图像(再次转换为位图并缩放以供上传)如下所示:
缺少刻面条、轴标签/文本、网格线和 alpha 设置。
这是什么原因造成的?有没有更好的方法来缩放图像尺寸同时保留绘图的外观?
r - ggsave() 失败并在 png_dev(..., res = dpi, units = "in") 中出现错误:无法启动 png() 设备
当我尝试使用 将 ggplot 保存到新目录时ggsave()
,出现错误。
产生错误:
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) 中绘图的设备输出?
r - 4.1.2 R 版本导致 ggplot 出现一些问题
Measurements_l
我有一个我曾经使用过的 df 列表lapply
和一个function
包含ggplot
来绘制每个列表的列表:
使用最新的 R 版本(4.1.2),我遇到了一些问题:
ggsave
被包含在我的ggplot
功能中,我不知道如何解决这个问题。任何的想法 ?由于这个较新版本,我不想重写所有脚本中的所有函数。
此外,为什么不能再对 ggplot 对象使用“cm”单位?
可重复的示例(导致 4 个图表)
r - 如何在R中的同一个pdf中保存2个重叠的独立ggplots?
我有 2 个 ggplots:plot1 和 plot2
当我使用 R 在 R 中显示它们时:
我得到了重叠,但是当我想将这些重叠的图像保存为 PDF 时,这是不可能的:
有人知道方法吗?
也许用ggplot_add?
谢谢!