簡體   English   中英

R Markdown中ggraph節點中的希臘字母

[英]Greek letters in ggraph nodes in R Markdown

當我在 RStudio 中運行下面的 R 腳本時,theta 顯示正確。

---
title: "test"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidygraph)
library(ggraph)
```

# Greek letters
```{r ggraph}
nodes<-data.frame(label=c("θ","S"))
edges<-data.frame(from=c(2),to=c(1))
graph<-tbl_graph(nodes=nodes,edges=edges)
ggraph::ggraph(graph,layout="fr")+
    ggraph::geom_edge_link()+
    ggraph::geom_node_label(mapping = aes(label=label))     
```

但是當我編織它時,我收到了這個錯誤信息(部分是丹麥語):

包 inputenc 錯誤:Unicode 字符 θ (U+03B8) (inputenc) 未設置為與 LaTeX 一起使用。

如果您使用 pdflatex,請嘗試其他 LaTeX 引擎(例如 xelatex)。 對於 R Markdown 用戶,請參閱https://bookdown.org/yihui/rmarkdown/pdf-document.html Fejl:LaTeX 無法編譯 test.tex。 有關調試提示,請參閱https://yihui.org/tinytex/r/#debugging 有關更多信息,請參閱 test.log。 另外: Advarselsbeskeder: 1: I grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 2: I grid. Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 3: I grid.Call(C_textBounds, as.graphicsAnnot(x$) label), x$x, x$y, : konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 4: I grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y , : konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 5: I grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 6: I grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 7: I grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
konverteringsfejl på 'θ' i 'mbcsToSbcs': punktum erstattet for 8: I grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
konverteringsfejl på 'θ' i 'mbcsToSbcs':Kørsel stoppet 的 punktum erstattet

我曾嘗試使用 expression(theta) 而不是字符本身,但這不起作用。 有任何想法嗎?

可能有更好的方法來解決這個問題,但解決您的問題的一種方法是:

  1. 使用xelatexfontenc包;
  2. 強制dev"jpeg""png"或 " cairo_pdf " 以生成數字( θ可能會導致其他設備出現問題)。

在我使用過的 RMarkdown 文檔中

    ---
    title: "test"
    header_includes:
        - \usepackage[T1]{fontenc}
    output:
        pdf_document:
          latex_engine: xelatex
    ---


    ```{r setup, include=FALSE}
     knitr::opts_chunk$set(echo = TRUE, dev = "png", dpi = 300)
     library(tidygraph)
     library(ggraph)
     ```

    # Greek letters

    ```{r ggraph}
    library(ggraph)
    library(ggplot2)
    nodes<-data.frame(label=c("θ","S"))
    edges<-data.frame(from=c(2),to=c(1))
    graph<-tbl_graph(nodes=nodes,edges=edges)
    ggraph::ggraph(graph,layout="fr")+
        ggraph::geom_edge_link()+
        ggraph::geom_node_label(mapping = aes(label=label))
    ```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM