2 Knitr/R Markdown/Rstudio问题:Highcharts和Morris.js

Yaa*_*her 4 r rstudio knitr r-markdown rcharts

我目前正在尝试使用自己的数据复制几种不同类型的rCharts.第一个是带有以下代码的HighCharts图:

````{r}
setwd("C:/Users/ypetscher/Dropbox/R fun")  
blah<-read.csv("g8a.csv")`                                                                 
require(slidify)                                                                          
require(rCharts)                                                                      
require(rHighcharts)
```

```{r}
x<-data.frame(blah,stringsAsFactors=TRUE)                                             
colnames(x)<-substr(colnames(x),2,5)   
a<-rHighcharts:::Chart$new()                                                   
a$chart(type="column")                                                           
a$title(text="Percent of Students on Grade Level on G8 FCAT for Reading (1), Math (2),        Writing (3), and Science (4)")                                             
a$xAxis(categories=rownames(x))                                              
a$yAxis(title=list(text="Percent Proficient"))                                               
a$data(x)
```                                                                                          
Run Code Online (Sandbox Code Playgroud)

当它作为块运行时,图形生成很好,但是当我在markdown中使用Knit HTML时,它会在预览阶段停留一段时间,当我终止它时,它会给出"状态15"消息,我就是我不清楚这意味着什么,以及如何解决.

我正在尝试的第二张图是带有编织器的Markdown中的Morris.js图.我拿了我的R代码并放入R Markdown,看起来像:

```{r} 
library(slidify)                                                                           
library(knitr)                                                                          
library(rCharts)                                                                      
library(RColorBrewer)                                                                    
library(reshape2)                                                      
setwd("C:/Users/ypetscher/Dropbox/R fun") 
blah<-read.csv("g8.csv") 
blah 
``` 

```{r}  
m2<-mPlot(x="year",y=colnames(blah)[-1],data=blah, type="Bar")
m2$set(barColors=brewer.pal(4,"Spectral"))  
m2$set(xlab="Year")                                                                   
m2$set(postUnits="%")                                                               
m2$set(hideHover="auto")                                                                           
m2
```
Run Code Online (Sandbox Code Playgroud)

当我运行这些块时,它会产生一个漂亮的图形,就像我预期的html文件一样(file:/// C:/Users/ypetscher/AppData/Local/Temp/RtmpW4q3ka/filed284f137718.html); 但是,当我点击Knit HTML时,我获得了一个包含代码的文件,但是没有生成图形.此外,当Google Chrome出现时,我收到以下错误:

"找不到网址的网页:file:/// C:/Users/YPETSC〜1/AppData/Local/Temp/Rtmpk1Pfbp/filee0c383670e0.html错误6(net :: ERR_FILE_NOT_FOUND):文件或目录无法访问被发现."

在诊断这些问题时,将非常感谢任何帮助.非常感谢!

Ram*_*ath 8

注意:这与我在knitr google群组中发布的解决方案相同.

要使rCharts与knit2html一起使用,您需要使用带有参数include_assets = TRUE的print方法.这是因为knitr不会自动添加rCharts图所需的js和css资产.这是一个最小的工作示例.

## MorrisJS with Knit2HTML

```{r results = 'asis', comment = NA}
require(rCharts)
data(economics, package = 'ggplot2')
econ <- transform(economics, date = as.character(date))
m1 <- mPlot(x = 'date', y = c('psavert', 'uempmed'), type = 'Line',
  data = econ)
m1$set(pointSize = 0, lineWidth = 1)
m1$print('chart2', include_assets = TRUE)
```
Run Code Online (Sandbox Code Playgroud)

请注意,m1$print('chart2', include_assets = TRUE, cdn = TRUE)如果您打算在RPub上发布图表,则需要使用,否则JS和CSS资产将从您的本地库提供.

希望这可以帮助.

  • Ramnath,有关于rCharts的任何文档吗?我刚安装它,除了`rPlot`之外找不到任何功能的帮助. (3认同)