Содержимое всплывающей подсказки rCharts для умножения строк

Я простой кодер R, у меня почти нет опыта кодирования в HTML или javascript, поэтому мне трудно понять обертки для кода настройки всплывающей подсказки.

У меня есть 2 временных ряда, которые я построил с помощью rCharts lineWithFocusChart, теперь я хочу настроить всплывающую подсказку, чтобы она выглядела следующим образом: http://shiny.rstudio.com/gallery/nvd3-line-chart-output.html

Вот мой код:

shinyServer(function(input, output) {

  output$myChart <- renderChart({
    select<-as.numeric(input$radioTS)

    out <- data.frame(Actuals[,select], Fits[,select], mmmyyyy)
    colnames(out) <- c("Actuals","Fits","Date")
    data<-melt(out,id.vars = 'Date')
    data$Date <- as.numeric(as.POSIXct(data$Date)) * 1000

    p1 <- nPlot(
      value ~ Date,
      group = 'variable',
      data = data,
      type = 'lineWithFocusChart',
      width = 650,
      height = 500
    )

    p1$addParams(dom = 'myChart')
    p1$xAxis(tickFormat = "#!function(d) {return d3.time.format('%b %Y')(new Date(d))}!#")
    p1$x2Axis(tickFormat = "#!function(d) {return d3.time.format('%Y')(new Date(d))}!#")
    p1$yAxis(tickFormat = "#!function(d) {return d3.format('0,.0')(d)}!#")

    return(p1) 
  })
})     

person mk0108    schedule 29.06.2014    source источник
comment
Приведите минимальный воспроизводимый пример.   -  person jdharrison    schedule 30.06.2014


Ответы (1)


В упомянутом блестящем примере используется функция nvd3 interactiveGuideline. Чтобы использовать это в rCharts, вы можете p1$chart(useInteractiveGuideline=TRUE), но из-за этой проблемы с nvd3 lineWithFocusChart не работает. еще не предлагают эту функциональность, поэтому пока мы будем ограничены lineChart.

К сожалению, в настоящее время nvd3 не поддерживает настройку интерактивного руководства, поскольку этот запрос на включение еще не был принят. Однако вы можете получить довольно прилично выглядящую всплывающую подсказку, правильно назвав ее, как показано в этом пример.

shinyServer(function(input, output) {

      output$myChart <- renderChart({
        select<-as.numeric(input$radioTS)

        out <- data.frame(Actuals[,select], Fits[,select], mmmyyyy)
        colnames(out) <- c("Actuals","Fits","Date")
        data<-melt(out,id.vars = 'Date')
        data$Date <- as.numeric(as.POSIXct(data$Date)) * 1000

        p1 <- nPlot(
          value ~ Date,
          group = 'variable',
          data = data,
          type = 'lineChart',  # see explanation for why not lineWithFocusChart
          width = 650,
          height = 500
        )

        p1$addParams(dom = 'myChart')
        p1$xAxis(tickFormat = "#!function(d) {return d3.time.format('%b %Y')(new Date(d))}!#")
        #commented x2Axis out since only lineChart
        #p1$x2Axis(tickFormat = "#!function(d) {return d3.time.format('%Y')(new Date(d))}!#")
        p1$yAxis(tickFormat = "#!function(d) {return d3.format('0,.0')(d)}!#")
        p1$chart(useInteractiveGuideline = TRUE)

        return(p1) 
      })
    }) 
person timelyportfolio    schedule 30.06.2014
comment
Большое спасибо! Я видел это раньше: p1$chart(useInteractiveGuideline = TRUE), но я не знал, что это недоступно специально для lineWithFocusChart. Дополнительный вопрос: знаете ли вы, как добавить вертикальную линию? - person mk0108; 30.06.2014