首页 > 解决方案 > 将散点图从 PDF 导入 R

问题描述

我正在尝试从 PDF 导入散点图。该图最初是在 R 中创建的。当我导入 PDF 时,我看不到散点。不知道我做错了什么?带有线条的绘图似乎工作正常。

一个演示问题的玩具示例:

pdf(file = "./temp.pdf", height = 5, width = 5)
plot(mtcars$mpg, mtcars$cyl, type = "p")
dev.off()
file.show("temp.pdf")

# same issue with ggplot
# pdf(file = "./temp.pdf", height = 5, width = 5)
# ggplot(data = mtcars, mapping = aes(x = mpg, y = cyl)) +
#   geom_point()
# dev.off()

p0 <- magick::image_read_pdf('./temp.pdf')
p0

p1 <- pdftools::pdf_render_page('./temp.pdf')
png::writePNG(p1, "temp.png")
file.show("temp.png")

两者都给p0_temp.png在此处输入图像描述

> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.0 magrittr_1.5   magick_2.0     tools_3.6.0    Rcpp_1.0.1    
[6] pdftools_2.2   qpdf_1.1       png_0.1-7      askpass_1.1

标签: rpdfimagemagick

解决方案


对于将来遇到此问题的任何人,useDingbats = FALSEpdf()函数中为我做了诀窍,即

pdf(file = "./temp.pdf", height = 5, width = 5, useDingbats = FALSE)

推荐阅读