[R] [FORGED] can't print ggplot with Chinese characters to pdf files

Paul Murrell paul at stat.auckland.ac.nz
Fri Oct 13 04:55:11 CEST 2017


Hi

By the looks of it, you need to install Cairo graphics ...

https://www.cairographics.org/download/

Paul

On 13/10/17 15:48, John wrote:
> Thanks, Paul. Following your solution,  I got this error message:
> 
> Warning message:
> In cairo_pdf("test_plot_chinese.pdf") : failed to load cairo DLL
> 
> Is there anything else I need to install?
> 
> Thanks,
> 
> John
> 
> 2017-10-12 19:24 GMT-07:00 Paul Murrell <paul at stat.auckland.ac.nz 
> <mailto:paul at stat.auckland.ac.nz>>:
> 
>     Hi
> 
>     Instead of ...
> 
>     ggsave("test_plot_chinese.pdf", m2)
> 
>     ... try ...
> 
>     cairo_pdf("test_plot_chinese.pdf")
>     print(m2)
>     dev.off()
> 
>     Paul
> 
> 
>     On 13/10/17 02:12, John wrote:
> 
>         I install the Chinese font "Kaiti TC" on my mac, but I can't
>         print the
>         figures to pdf file by "marrangeGrob" command, which is in the
>         package
>         "gridExtra". Error message after I type "ggsave(......)" (last
>         line of the
>         program):
> 
>         "Saving 7.47 x 5.15 in image
>         Error in grid.Call.graphics(L_text, as.graphicsAnnot(x$label),
>         x$x, x$y,  :
>             invalid font type
>         In addition: There were 50 or more warnings (use warnings() to
>         see the
>         first 50)"
> 
>         How can I install the font so that I can see the figures on the
>         pdf files?
>         Some information that may be useful:
>         (1) If I use the English ggtitle, there is no problem at all.
>         The pdf file
>         present the figures perfectly.
>         (2) If I use Chinese title, I can still see the figures p1 and p2 on
>         Studio, but I can't see it at the pdf file produced by ggsave.
>         It gives an
>         error message
> 
> 
> 
>         rm(list=ls())
>         library(ggplot2)
>         library(gridExtra)
>         df1<-data.frame(x=1:2, y=3:4, z=5:6)
>         #p1<-ggplot(df1, aes(x=x, y=y))+geom_line()+ggtitle("test1")
>         #p2<-ggplot(df1, aes(x=x, y=y))+geom_line()+ggtitle("test2")
>         p1<-ggplot(df1, aes(x=x, y=y))+geom_line()+ggtitle("測試") 
>         #Chinese title
>         p2<-ggplot(df1, aes(x=x, y=y))+geom_line()+ggtitle("中文") 
>         #Chinese title
>         p1<-p1+theme(text = element_text(family = "Kaiti TC"))
>         p2<-p2+theme(text = element_text(family = "Kaiti TC"))
> 
>         p<-array(list(NA), dim=2)
>         p[[1]]<-p1
>         p[[2]]<-p2
>         p_series <- lapply(1:(length(p)), function(.x) p[.x][[1]])
>         m2 <- marrangeGrob(p_series, nrow=2, ncol=1)
>         ggsave("test_plot_chinese.pdf", m2)
> 
>                  [[alternative HTML version deleted]]
> 
>         ______________________________________________
>         R-help at r-project.org <mailto:R-help at r-project.org> mailing list
>         -- To UNSUBSCRIBE and more, see
>         https://stat.ethz.ch/mailman/listinfo/r-help
>         <https://stat.ethz.ch/mailman/listinfo/r-help>
>         PLEASE do read the posting guide
>         http://www.R-project.org/posting-guide.html
>         <http://www.R-project.org/posting-guide.html>
>         and provide commented, minimal, self-contained, reproducible code.
> 
> 
>     -- 
>     Dr Paul Murrell
>     Department of Statistics
>     The University of Auckland
>     Private Bag 92019
>     Auckland
>     New Zealand
>     64 9 3737599 x85392
>     paul at stat.auckland.ac.nz <mailto:paul at stat.auckland.ac.nz>
>     http://www.stat.auckland.ac.nz/~paul/
>     <http://www.stat.auckland.ac.nz/~paul/>
> 
> 

-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul at stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/



More information about the R-help mailing list