#r #rcharts #nvd3.js
#r #rcharts #nvd3.js
Вопрос:
Я пытаюсь встроить диаграмму NVD3 в документ Markdown. Я использую систему Ubuntu64 с RStudio 0.98.932, R 3.1.0, rCharts 0.4.2, браузер Chrome.
Инструкции / код по этой ссылке:
```{r}
library(rCharts)
library(knitr)
opts_chunk$set(comment = NA, results = "asis", comment = NA, tidy = F)
hair_eye_male = subset(as.data.frame(HairEyeColor), Sex == "Male")
n1 <- nPlot(Freq ~ Hair, group = 'Eye',
data = hair_eye_male, type = 'multiBarChart'
)
n1$set(width = 600)
# n1$show('iframesrc', cdn = TRUE) # option 1
# n1$show('inline', include_assets = TRUE, cdn = TRUE) # option 2
```
Ни один из вариантов [n1 $ show] не работает, я просто получаю код в браузере. Есть ли другой способ включить документы NVD3 в Markdown?
Ответ №1:
Чтобы заставить rCharts работать с knit2html, вам нужно будет использовать метод print с аргументом include_assets = TRUE
. Это связано с тем, что knitr не будет автоматически добавлять ресурсы js и css, требуемые для построения rCharts. Вот минимальный рабочий пример.
## 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)
```
Обратите внимание, что вам нужно использовать m1$print('chart2', include_assets = TRUE, cdn = TRUE)
, если вы собираетесь опубликовать свою диаграмму на RPubs, поскольку в противном случае ресурсы JS и CSS будут предоставляться из вашей локальной библиотеки.
Источник:Knitr HTML в R Markdown
Ответ №2:
У меня этот код работает. Я использую ubuntu64 и ту же конфигурацию, о которой вы упомянули.
```{r, echo=FALSE,results='asis',comment=NA}
library(rCharts)
hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
n1 <- nPlot(Freq ~ Hair, group = "Eye", data = hair_eye_male, type = "multiBarChart")
n1$show('iframesrc',cdn=TRUE)
```
Примечание: вы должны написать results=’asis’ и comment = NA в параметрах фрагмента, а не использовать opts_chunk$set
так, как у вас есть в вашем блоке кода и что вы вставили в copy.com .
Комментарии:
1. Спасибо, каунди. Вы правы, комментарий = NA появляется дважды, это в исходном коде, который я скопировал / вставил. Почему-то код не работает. Когда я вяжу HTML, в браузере остается только код. Должно быть, я где-то что-то делаю не так.
2. Это не так. Как сказано в комментарии, в браузере есть только код. Графика нет.
3. вы должны быть подключены к Интернету и подождать, скажем, 1-2 минуты, пока появится диаграмма.
4. Я не вижу ничего, что выглядит неправильным в коде. Не могли бы вы опубликовать .Rmd и .html в качестве сути или на каком-либо другом сайте общего доступа, чтобы посмотреть, смогу ли я воспроизвести вашу ошибку?
5. @timelyportfolio : copy.com/paeRvRDKCYTr [sessionInfo], copy.com/NRCxrEV83xfn [html], copy.com/x1pddZTCRktK [Rmd].