R Shiny: установить экстремумы в Highcharts (rCharts) при загрузке страницы

У меня есть блестящее приложение, которое использует библиотеку rCharts для создания диаграммы Highcharts. Когда приложение запускается впервые, я бы хотел, чтобы приложение было увеличено до определенного региона.

Метод Highcharts - это setExtremes() http://api.highcharts.com/highcharts

Ниже приведен минимальный пример, который можно запустить в интерактивном R:

library(shiny)
library(rCharts)

runApp(list(
  ui = pageWithSidebar(
    headerPanel("title"),
    sidebarPanel('sidebar'),
    mainPanel(showOutput("testPlot", "Highcharts"))
  ),
  server = function(input, output, session) {
    output$testPlot <- renderChart2({
      hc <- Highcharts$new()
      hc$xAxis(categories=c('Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su',
                            'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'))
      hc$series(data=c(7, 1, 4, 2.5, 3.25, 2.875, 3.0625, 3, 3, 3, 3, 3, 3, 3))
      setX <- "#! function() {
                 var cht = this;
                 var chtXAxis = this.xAxis[0];
                 setTimeout(function() {
                   console.log(chtXAxis.getExtremes().max); // correctly shows 13 in the console
                   chtXAxis.setExtremes(2, 10);
                   console.log(chtXAxis.getExtremes().max); // nothing in the console
                   cht.showResetZoom();
                 }, 2000)
               } !#"
      hc$chart(type="spline", zoomType='xy', events=list(load=setX))

      hc$set(domID="testPlot")
      return(hc)
    })
  }
))

В консоли видно, что метод getExtremes() успешен, но метод setExtremes() не работает. Понятия не имею почему.

Может кто-нибудь помочь исправить это, или дать рекомендацию о том, как лучше установить крайние значения при загрузке?

1 ответ

Решение

Ответ Victorp показал, что в моем коде нет ничего принципиально неправильного, но rCharts действительно был стар. Приведенный выше код должен работать, если ваша версия rCharts более новая, чем сегодняшняя дата, возможно, также с некоторыми более старыми версиями. Я не знаю, над каким выпуском я работал, но прошло бы несколько месяцев.

Спасибо, Викторп.

Другие вопросы по тегам