MYa*_*208 3 latex r rstudio knitr ggvis
我想知道我是否可以在.Rnw中使用ggvis和knitr.我尝试了下面的代码RStudio Version 0.98.1091.但它没有用.
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{geometry}
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\begin{document}
\chapter{Test}
\begin{figure}[H]
<< label = Plot1, fig.lp = "Plot1", fig.cap = "Test Plot" >>=
library(ggvis)
p <- mtcars %>% ggvis(x = ~wt, y = ~mpg) %>% layer_points()
print(p) # Commenting this line will compile the document
@
\end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)
它会引发以下错误:
LaTeX errors:
! Missing $ inserted.
<inserted text>
$
l.70 \end{kframe}<!--html_
preserve--><div id="plot_id298740869-container" cl...
! Please use \mathaccent for accents in math mode.
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.谢谢
编辑
注释该行将print(p)编译文档而不会出现任何错误.
如果有一个命令ggsave()可以保存ggvis图表就足够了.
是.
该export_png函数可以从ggvis对象创建PNG图像.
它使用nodejavascript解释器,并且node需要vega安装包.
在linux命令行中,我可以这样做:
sudo npm -g install vega
Run Code Online (Sandbox Code Playgroud)
vega使用节点包管理器全局安装包.我不知道你是如何在Windows或Mac机上执行此操作的.
完成后,您可以:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{geometry}
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\begin{document}
\chapter{Test}
\begin{figure}[H]
<< label = Plot1, fig.lp = "Plot1", fig.cap = "Test Plot" >>=
library(ggvis)
p <- mtcars %>% ggvis(x = ~wt, y = ~mpg) %>% layer_points()
export_png(p,"Plot1.png")
@
\includegraphics[width=0.8\textwidth]{Plot1.png}
\end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)
做: knit2pdf("gg.Rnw")
得到:

请注意,您必须手动添加标题和标签.也许Yihui可以被说服将这更好地整合到knitr中,或者可能有一种方法使用一些knitr钩子.无论如何,概念被证明......