[問題] 求助R與Latex中文呈現問題 致贈500元

作者: ewmm (兩團肉的爸)   2017-11-14 22:03:43
ctrl + y 可以刪除一整行,請將不需要的內容刪除
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別。
建議先到 http://tinyurl.com/mnerchs 搜尋本板舊文。
- 分享: 當你看到別人的心得時,請使用這個類別。
版主鼓勵你幫版友歸納重點(選擇性)。
- 情報: 當你看到消息時,請使用這個類別。
版主鼓勵你幫版友歸納重點(選擇性)。
- 心得: 當你自己想要分享經驗時,請使用這個類別。
- 討論: 當你自己已經有答案,但是也想聽聽版友意見時。
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
我的電腦是Mac OS Sierra
(1)我想用R軟體的ggplot2繪圖,並用gridExtra套件輸出於pdf檔
如果圖中沒有中文,完全沒問題。如果圖中有中文(例如標題有中文),則無法顯示或出現錯誤訊息
我想用中文楷體
已在電腦內安裝”Kaiti TC”
但始終無法正確印出
聽說裝Macport,Cairo可解決,但我一直無法成功
https://groups.google.com/forum/#!topic/r-sig-mac/7IrhMr1K264
(2)
另外一個問題是Latex中文問題
我是用TeXStudio
我可以打英文文件,做英文beamer
也可打簡單的中文文件,可用楷體
但嘗試做中文beamer,卻始終無法成功(沒有選擇字體)
如果有人能跟我在台大附近碰面,幫我解決這兩個問題
我請您喝杯茶吃點心,致贈500元新台幣
我方便的時間:週六白天或週日下午,台大新生南路對面或巷子內的餐廳
請留聯絡方式
[程式範例]:
R程式碼
#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)
R錯誤訊息
"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)"
[環境敘述]:
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.12.6 (Sierra)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
loaded via a namespace (and not attached):
[1] tools_3.3.1
[關鍵字]:
選擇性,也許未來有用
作者: andrew43 (討厭有好心推文後刪文者)   2017-11-14 22:52:00
有latex板喔,有空去看看。
作者: bluecadence (Maxwell's demon)   2017-11-14 23:34:00
你的第一個問題,應該只發生在要輸出成pdf檔案才會發出現是嗎? 輸出成 jpg 之類的檔案不會發生,直接在螢幕顯示也不會有問題對嗎? 我的FreeBSD系統也有這樣的症頭。的確在ggsave裡面使用 device=cairo_pdf 參數後能夠解決這個pdf字型問題。
作者: ewmm (兩團肉的爸)   2017-11-28 08:57:00
照您建議,我把cairo_pdf那一行改成ggsave("test_plot_chineese.pdf", m2, device=cairo_pdf),沒有錯誤訊息,但pdf中,中文也沒顯示
作者: bluecadence (Maxwell's demon)   2017-11-28 18:26:00
這個問題可能需要從兩個層面解決 1. 作業系統必須安裝 cairo 套件 (Vector graphics library with cross-device output support) 2.你的 R 當初在編譯的時候(不管你是下載binary package 或是下載原始碼自行compile) 必須要把 cairo support 編譯進去我會建議這樣做 1. 先在 Mac 中把 cairo 裝好 2. 自行下載R的原始碼進行編譯,你的系統如果cairo安裝正確,編譯R的時候(./configure 的步驟)會偵測到cairo自動把cairo support編譯進R套件中我手邊目前沒有mac機器 但在FreeBSD 或 Linux 都是這麼做。我相信MacOS和FreeBSD的行為應該有點類似。你可以在R中下這個指令 "capabilities()" 然後把結果貼上來嗎?如果你的R有編譯cairo支援 應該要像這樣https://imgur.com/FeKaXp8
作者: ewmm (兩團肉的爸)   2017-12-26 14:11:00
謝謝,我使用capabilities指令結果如下

Links booklink

Contact Us: admin [ a t ] ucptt.com