Я пытаюсь встроить RChart в блестящее приложение. В частности, работа с функцией nPlot
и функцией NVD3 type=lineChart
NVD3. Я пытаюсь построить 3 кривые плотности для моделированных нормальных данных. Я пытаюсь достичь некоторых функциональных возможностей, описанных в примере ниже:RCharts lineChart Особенности
http://nvd3.org/ghpages/line.html
Мои вопросы:
- Как иметь различные цвета для различных кривых плотности?
- Как настроить функцию, чтобы щелкнуть по групповой переменной (1), (2), (3), чтобы эффективно удалить выбранную плотность. Аналогично нажатию на «Sine Wave» (вверху справа) в примере, чтобы удалить оранжевую кривую синуса?
- Как добавить метки оси X и Y-оси? Мой звонок
$params$xAxis=
не работает.
Ниже приведен мои server и ui.R файлы:
## server.r
library(rCharts)
library(shiny)
x <-rnorm(1000,0,1)
y <-rnorm(1000,1,1)
z <-rnorm(1000,2,1)
out <- c(x,y,z)
grp <- c(rep(0,1000),rep(1,1000),rep(2,1000))
data <- as.data.frame(cbind(out,grp))
dens <- by(data$out, data$grp, density)
d <- unlist(c(dens[[1]][1][1], dens[[2]][1][1], dens[[3]][1][1]))
support <- unlist(c(dens[[1]][2][1], dens[[2]][2][1], dens[[3]][2][1]))
grpvar <- c(rep(0,length(unlist(dens[[1]][1][1]))), rep(1,length(unlist(dens[[2]][1][1]))), rep(2,length(unlist(dens[[3]][1][1]))))
dat <- as.data.frame(cbind(d,support,grpvar))
shinyServer(function(input, output) {
output$myChart <- renderChart({
p1 <- nPlot(support~d, group=grpvar, data = dat, type = "lineChart")
p1$addParams(dom = 'myChart')
p1$params$width = 600
p1$params$height = 400
p1$params$xAxis = "Support"
p1$params$yAxis = "Density"
p1$chart(tooltipContent = "#! function(key, x, y, e){
return '<b>Group</b>: ' + e.point.grpvar
} !#")
return(p1)
})
})
## ui.R
library(rCharts)
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("rCharts: Interactive Charts from R using NVD3.js"),
sidebarPanel(
wellPanel(
helpText( "Look at the pretty graph"
)
),
wellPanel(
helpText( "Look at the pretty graph"
)
),
wellPanel(
helpText( "Look at the pretty graph"
)
)
),
mainPanel(
div(class='wrapper',
tags$style(".Nvd3{ height: 600px;}"),
showOutput("myChart","Nvd3")
)
)
))
Заранее спасибо за любую помощь/совет, который Вы можете предоставить.
Глупая ошибка ... спасибо за пятнистость, что для меня. – Chris