汉字和Sweave:“无效的字体类型”

时间:2014-01-21 21:33:48

标签: r ggplot2 sweave

我可以使用以下内容正确显示正确显示中文字符标签的中国省份饼图:

pie(table(df$provinces), family="STSong")

然而,当我使用Sweave编译我的PDF时,我收到“无效的字体类型”错误。解决这个问题最简单的方法是什么? 我正在Mac上运行RStudio,并尝试使用库(extrafont)和loadfonts(),这似乎解决了错误,但没有在最终的PDF中正确显示字符。

我也尝试过将ggplot2与规范一起使用:

theme(axis.text=element_text(family="STSong"))

再次在RStudio Plots窗口中正确显示中文,但是在制作最终PDF时,中文字符只显示为点。

1 个答案:

答案 0 :(得分:2)

尝试使用Sweave运行这个小例子。它使用showtext包来处理中文字体。

\documentclass{article}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<fig=TRUE, echo=FALSE>>=
library(showtext)
showtext.begin()
plot(1, main = "中文")
showtext.end()
@

\end{document} 

重点是将您的绘图功能包含在一对showtext.begin() / showtext.end()来电中。