2013-02-24 44 views
3

这本身并不是一个编程问题,但是看到R和ggplot2如何在这里流行,我想我会问是否有人知道是否有办法下载ggplot2的所有文档,以便他们可以成为http://docs.ggplot2.org离线访问。我经常处于无法上网的情况。离线ggplot2文档?

+2

我听说过一种替代技术,他们将累积的知识压缩成一种他们称之为“书”的东西。我不知道这是否真的有未来,但你可以[这里是一个](http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/ref=sr_1_1?ie = UTF8&qid = 1361733227&sr = 8-1&keywords = ggplot2) – 2013-02-24 19:14:05

+4

您可以尝试使用[staticdocs](https://github.com/hadley/staticdocs)呈现您自己的版本,因为它看起来是为了生成您所在的网页参考 – 2013-02-24 19:18:08

+6

@Dirk Eddelbuettel恐怕ggplot2书真的很过时。对于概念和基本工作的讨论还是很好的,但如此多的变化,在线文档和本书绝不可互换 – alexwhan 2013-02-24 19:41:39

回答

9

Winston Chang的R Graphics Cookbook怎么样?

编辑:或者使用wget,作为本Bolker提示:

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains=docs.ggplot2.org http://docs.ggplot2.org/current/ 

的--domains选项应防止跟随http://docs.ggplot2.org外链接(如那些在页面的底部)。但是我没有测试过。

+0

我只使用此命令获取索引页面。 – Dason 2013-02-24 21:04:22

+0

它似乎是--domain选项,对我造成麻烦。 'wget -r -L http://docs.ggplot2.org/current/index。HTML'对我来说效果不错。 – Dason 2013-02-24 21:14:42

+0

@Dason:谢谢,有一个错字。现在应该正常工作。 – EDi 2013-02-24 21:20:41

8

该页面本身是使用Hadley的staticdocs包创建的。您可以自己在ggplot2上运行staticdocs来创建页面。您需要使用highlight软件包来安装staticdocs。你可以得到here还是我主持它在GitHub上为了我的方便,你可以用下面的命令

library(devtools) 
install_github("highlight", "Dasonk") 

与devtools得到它的安装就可以使用devtools以及

install_github("staticdocs") 

运行staticdocs staticdocs你需要ggplot2代码,并且最简单的方法就是用git来获取它。假设你在一个想要将ggplot2文件夹下载到的目录中,可以使用下面的命令(假设你已经安装了git)。

git clone https://github.com/hadley/ggplot2.git 

或者,您可以从CRAN page中获取软件包源并将其解压缩。

请确保你有ggplot2的建议软件包(如果你不这样做,那么staticdocs会在它遇到一个示例时无法运行,因为你没有安装建议的软件包会突然退出)。如果您不确定是否有所有建议的软件包,使用dependencies=TRUE参数安装ggp​​lot2最为简单。

install.packages("ggplot2", dependencies = TRUE) 

,那么你可以使用下面的运行staticdocs:

library(staticdocs) 
setwd("path/to/ggplot2/folder") 
build_package(".", "inst/staticdocs") 

然后你就可以找到所有你在安装/ staticdocs子文件夹和开放的index.html需要的文件将让你在本地浏览。

请注意,使用wget或其他方法可能会快得多,并且一旦运行它就会轻松很多。 staticdocs需要相当多的时间来完成,我没有浏览所有页面,以确保一切正常。这种方法的另一个缺点是它基于当前包的发展状态运行,所以它可能比你实际安装在系统上的要稍微提前。

3

我的回复不是R特定的。

当你有互联网,你可以手动打开每个页面并保存它们。 例如,如果您使用的是谷歌浏览器(我确信其他浏览器都有其扩展名列表),则可以安装以下任意一个屏幕截图:捕获&从Chrome网上应用店注释或屏幕截图(通过Google),然后选择捕获整个页。还有一个扩展名可让您将页面保存为PDF文件。

+0

+1的想法。这对制作讲义非常有用。 – 2013-02-25 09:40:58

2

另一种方法是在knitr包中使用knit_rd()函数。这需要HTML版本的帮助页面,拉出示例,然后运行它们捕获输出(文本或图形),如knitr所做的那样。这将给你一个HTML文件(和图形)的目录,可以查看没有连接到互联网。它看起来不像通过staticdocs创建的网站,但它具有相同的信息,包括工作示例和这些示例的图形输出。