【发布时间】:2019-10-28 13:30:56
【问题描述】:
我用ggplot2 在 R (RStudio) 中绘制了图。当我通过export::graph2office 导出它们时,标签会四处移动。但是,这只发生在我为标签指定字体时。
library (ggplot2)
library (export)
plot_data <- data.frame (a = runif (1:20), b = seq (1:20))
x11 (width = 3, height = 3)
ggplot (data = plot_data, mapping = aes (x = a, y = b)) +
geom_point () +
labs (x = "my x-label", y = "my y-label") +
theme (panel.background = element_blank(),
panel.border = element_rect (fill = NA, size = 0.7),
axis.ticks = element_line (color = "black", lineend = "round"),
axis.ticks.length = unit (2, "mm"),
axis.text = element_text (color = "black"),
plot.margin = unit(rep (0, 4), "cm"),
text = element_text (size=18,
family="ChantillyLH",
color = "black")
)
graph2office (file = "my_graph", type = "DOC")
在这里,您可以看到 R 中的图形(右侧)和 word 中的导出图形(左侧):
在本例中,y-label 的不良行为更加明显,但 x-label 也移动了一点。我想知道有没有办法解决这个问题。
当我指定另一个字体系列时也会发生同样的情况,例如family="Comic Sans MS":
【问题讨论】:
-
由于导出包仅依赖github.com/davidgohel/rvg/blob/master/R/body_add_vg.R 函数来导出图形,因此最好在他的 rvg github 问题页面上询问 David Gohel,因为我怀疑问题可能就在那里...
-
ok...在那里,我们发现:该功能被保留,但应避免使用它:Word 文本框,用于将文本放入图形的元素,正在添加额外的空间形状的顶部和底部。由于没有明确的规则可以处理这个问题,因此无法计算文本的确切位置。这会影响图形的整个渲染。然后,该功能应被视为失败的体验。另一种方法是使用 EMF 格式,这将不允许编辑图形,但显示为矢量图形。 --> 我将研究 EMF
-
好的,好像“EMF”是 .wmf 的增强版本。与 .wmf 一样,点在 word 中(以及其他地方,我认为)呈现得很糟糕。
-
如果您使用graph2ppt导出到PPT时也有这个问题,您可以尝试一下吗?然后,您可以从 Powerpoint 复制您的图形并粘贴特殊...增强的元文件,并且该文件的质量应该仍然很好(比我直接从 R 看到的直接 EMF 导出选项要好得多)。
-
嗯,我试过了,而且确实使用 Powerpoint 也有问题。再说一遍,这些微小的变化从来没有真正困扰过我,因为我导出到 Powerpoint 的主要原因是当我首先对轴标签的位置或大小不满意时,无论如何我都想稍微移动一下。 . 但是我会问 David Gohel 是否知道更好的解决方案...