R乳胶输出表为jpg文件

时间:2014-02-25 08:58:36

标签: r knitr

我想从R输出一个乳胶表作为jpg。例如:

df <- data.frame(variable = c("a","b","c"), n=1:3)
xtable(df)

我可以使用knitr:

\documentclass{article}
\usepackage[english,ngerman]{babel}

\begin{document}

<<echo=FALSE, results="asis">>=
xtable(xdf)
@

\end{document}

但是这会产生一个pdf文件。我可以截图表并将其保存为jpg,但我想避免这种工作。

我的偏好是将乳胶表从R输出到窗口

windows(width=20,height=15)

然后保存为jpg-file

savePlot("latex_table", type="jpg")

但我认为这是不可能的,因为它必须首先由乳胶解释。

我之所以想以这种方式做到这一点:我想生成定期更新的图形和表格作为jpg,将它们手动插入到网页中。我想使用latex-table来拥有所有设计能力来创建漂亮的表。

1 个答案:

答案 0 :(得分:2)

您可以使用ImageMagickconvert工具(使用R中的system2()功能执行)将PDF文件转换为JPEG。在此之前,您可能希望裁剪LaTeX文档中的边距(请参阅pdfcrop)。我无法帮助您解释如何在Windows上安装这些工具,例如在Fedora Linux上你只需要sudo yum install texlive-pdfcrop-bin ImageMagick。然后你打电话:

  1. knitr::knit2pdf(...)
  2. system2('pdfcrop', 'input.pdf output.pdf')
  3. system2('convert', 'output.pdf output.jpg')
  4. 所有内容都可以设置为以批处理模式运行,无需任何用户交互,因此您甚至可以考虑尝试自动将图形上传到Web服务器。

    编辑:您也可以尝试使用LaTeX中的\documentclass[11pt]{standalone}生成边距最小的PDF页面。