我正在用rmarkdown编写以生成html_document,我想在轴标题中编写一个乳胶方程式。 有办法吗?
x <- c(0,1,1,1,2,2,2,3)
Fn <- ecdf(x)
plot(Fn , lwd = 2, main="",ylab = "$F(x)$",xlab="$x$",yaxt="n")
答案 0 :(得分:2)
正如@MrFlick指出的那样,数学注释具有某种语法。有时由于复杂的公式或某些符号可能还不够。
一种避免在HTML文档内的pdf查看器中呈现pdf图(使用tikz创建)的方法是将其转换为另一种格式。
在这里,我更改了图钩,以将tikz pdf图转换为png,并使用原始图钩将其包括在内。
---
title: "Test"
output: html_document
---
```{r, include=F}
library(pdftools)
library(png)
library(knitr)
oldHook <- knit_hooks$get("plot")
knit_hooks$set(plot = function(x, options) {
fname <- gsub("pdf", "png", x)
bitmap <- pdf_render_page(x, page = 1, dpi = 300)
png::writePNG(bitmap, fname)
oldHook(fname, options)
})
```
```{r, dev='tikz'}
x <- c(0,1,1,1,2,2,2,3)
Fn <- ecdf(x)
plot(Fn , lwd = 2, main="",ylab = "$F(x)$",xlab="$x$",yaxt="n")
```
答案 1 :(得分:1)
您可以使用latex2exp
library(latex2exp)
plot(Fn , lwd = 2, main="",
ylab = latex2exp("$F(x)$"),
xlab=latex2exp("$x$"),yaxt="n")
或者在R Base中
plot(Fn , lwd = 2, main="",
ylab = expression("F(x)"),
xlab=expression("x"),
yaxt="n")
答案 2 :(得分:1)
编辑:对不起,下面的答案是针对PDF输出的。通过将tikz
图形处理为PNG或SVG文件并将其包含在内,可能有可能对HTML输出执行类似的操作,但是我没有弄清楚细节。
您可以尝试使用tikzDevice
软件包。此示例基于Yihui在这里的建议:https://github.com/daqana/tikzDevice/issues/60。
---
output:
pdf_document
header-includes:
- \usepackage{tikz}
---
```{r setup}
library(knitr)
knit_hooks$set(plot = function(x, options) {
if ('tikz' %in% options$dev && !options$external) {
hook_plot_tex(x, options)
} else hook_plot_md(x, options)
})
```
Text.
```{r test, dev='tikz', external=FALSE}
x <- c(0,1,1,1,2,2,2,3)
Fn <- ecdf(x)
plot(Fn , lwd = 2, main="",ylab = "$F(x)$",xlab="$x$",yaxt="n")
```
以下是输出: