【问题标题】:ggplot2: control absolute plot size in R studioggplot2:在 R studio 中控制绝对绘图大小
【发布时间】:2019-10-24 10:58:25
【问题描述】:

我是新手,但已经喜欢使用 ggplot2 包进行绘图。有一个问题我仍然不知道如何实现:我可以以某种方式在 ggplot-command 中设置 RStudio 中绘图的绝对大小吗? 我知道,我可以

  • 通过theme (aspect.ratio)调整x轴和y轴的相对大小。
  • 通过ggsave (width, height) 导出时设置绘图的最终绝对大小。

但是,我希望对我在 R-Studio 中创建的绘图有一个真实的预览,最好是在绘图面板中。当然,我可以尝试通过肉眼调整绘图面板的大小 - 但是,这不是很精确且不可重现。

我知道的唯一可行的解​​决方案是打开一个具有定义大小的新设备(例如通过x11 (width = 3, height = 3))。但是,我更愿意省略打开一个新窗口。

我能想到两个选择:

  • 在 R-Studio 中以编程方式设置绘图面板大小或
  • 设置一个绝对绘图大小,仅当绘图面板为 足够大。

对于两者,我不得不承认我不知道该怎么做。对我来说,最佳解决方案可以称为 ggplot () 中的参数。

为什么这对我很重要? --> 在 R-Studio 中创建的图表可能看起来很漂亮,但是当导出并缩小到出版物大小时,文本元素、轴和绘图内容可能看起来有些不成比例。大多数情况下,我在 R-Studio 中创建的图比我的焦点图大。

【问题讨论】:

  • 感谢您的提示。但是,保存我的地块没有问题。我要求在 RStudio 中对我的绘图进行逼真的预览。这样我在绘图面板中看到的绘图与 ggsave 保存的绘图完全相同。我想调整 RStudio 中的情节,直到我对外观感到满意,而尺寸符合要求,比如说科学期刊。这意味着:绘图面板中的绘图应该是,例如,90 毫米 x 90 毫米的大小。我hopw,这让我的问题更清楚了。

标签: r ggplot2 plot


【解决方案1】:

正如您上面提到的,绘图的大小取决于 RStudio 中窗口的大小或您设置的任何内容,就好像您正在导出它一样。但是,如果您想保持恒定的纵横比,您可以尝试以下方法:

aspect_ratio <- 2.5
height <- 7
ggsave(g, height = 7, width = 7 * aspect_ratio

文档链接:https://ggplot2.tidyverse.org/reference/ggsave.html

【讨论】:

  • 也许我上面的评论很有帮助:我知道如何以所需的大小和纵横比保存我的图。但是,我不知道如何在绘图面板中定义绘图的绝对大小。如果期刊需要 90 mm x 90 mm 的绘图,最好在绘图面板中有一个 90 mm x 90 mm 的绘图,看看我的最终绘图会是什么样子。
【解决方案2】:

我明白这个问题。 dev.new() 函数可能会为您提供所需的结果。看看下面的代码。

dev.new(width = 90, height = 90, unit = "mm")
plot(desired_graph) 

【讨论】:

  • (i) dev.new () 为我打开了一个新窗口,但尺寸规格似乎被忽略了(x11 () 是一个可行的替代方案,它的缺点是只接受英寸 [?]) . (ii) 打开一个新的图形设备对我来说是“第二好的”选项。我真的更愿意继续使用集成在 R Studio GUI 中的默认图形面板。
猜你喜欢
  • 1970-01-01
  • 2019-06-11
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 2022-08-13
  • 1970-01-01
  • 2015-12-11
  • 2023-03-22
相关资源
最近更新 更多