将ggplot保存为EPS格式以在Adobe Illustrator中进行编辑-文本问题

时间:2019-06-11 21:00:59

标签: r ggplot2 adobe-illustrator cowplot

问题

我想从R中保存一个ggplot,以便在Adobe Illustrator(AI)中进行编辑。我可以使用EPSPSggsave格式保存图,但是图总是在文本周围带来阴影。是否可以在R或Adobe Illustrator中解决此问题?

例如,我的plot如下所示:

png

但是,当我将其导入AI时,它看起来像这样(文本周围为粉红色阴影):

screenshot

代码

# Saving a plot for editing in Adobe Illustrator.

library(ggplot2) # for plotting
library(cowplot) # for ggsave

# Generate an example scatter plot.
# From: http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html
options(scipen=999)  # turn-off scientific notation like 1e+48
theme_set(theme_gray())  
data("midwest", package = "ggplot2")

plot <- ggplot(midwest, aes(x=area, y=poptotal)) + 
  geom_point(aes(col=state, size=popdensity)) + 
  geom_smooth(method="loess", se=F) + 
  xlim(c(0, 0.1)) + 
  ylim(c(0, 500000)) + 
  labs(subtitle="Area Vs Population", 
       y="Population", 
       x="Area", 
       title="Scatterplot", 
       caption = "Source: midwest")
plot

# Save the plot as .eps with ggsave. 
file <- "myplot.eps"
ggsave("myplot.jpg",plot)

2 个答案:

答案 0 :(得分:1)

由于您已经在使用ggplot2,因此可以将最后一行更改为

ggsave("myplot.eps",plot)

OR

setEPS()
postscript("whatever.eps")
#Plot Code

点击以下链接以获取其他可能的解决方案:

Export a graph to .eps file with R

为确保导出可通过图形编辑器进行编辑的文档。您需要为图形编辑器支持的绘图选择一个主题(包括字体等)。

有关GGPLOT2主题文档,请参见以下链接:

https://ggplot2.tidyverse.org/reference/theme.html

https://www.rdocumentation.org/packages/ggplot2/versions/2.1.0/topics/theme

答案 1 :(得分:1)

解决方案

我为这个可怜的问题表示歉意。导入到Adobe Illustrator后,该图的文本后面的粉红色阴影表示该字体无法被AI识别。如果从AI导出图,则此阴影消失了。

要将字体添加到AI,您可以尝试按照以下说明进行操作:

向Adobe Illustrator添加新字体

Source

  • 创建一个新的AI文档(文件>新建)
  • 开始输入新文档。
  • dafont.com下载橙汁字体。
  • 提取文件(橙汁2.0.ttf)
  • 安装TrueType文件(右键单击>安装)。
  • 现在应该可以在AI中识别字体了。

要检查ggplot使用的是哪种字体:

> mytheme <- ggplot2::theme_gray()
> mytheme$family
[1] "" # The default is sans.

# To check which sans font is being used:
> windowsFonts()
$`serif`
[1] "TT Times New Roman"

$sans
[1] "TT Arial" 

$mono
[1] "TT Courier New"

# My PC's default sans font is TT Arial.
'''