2015-09-08 6 views
0

У меня есть блестящее приложение, которое пользователи библиотеки rCharts создают диаграмму Highcharts. Когда приложение начнет сначала, я хочу, чтобы приложение было увеличено до определенного региона.R Shiny: setExtremes в Highcharts (rCharts) на странице load

Метод Highcharts является setExtremes() http://api.highcharts.com/highcharts#Axis.setExtremes

Ниже приведен минимальный пример, который может работать в интерактивном 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() не работает. Понятия не имею почему.

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

+0

Он работал для меня, с Chrome и Firefox, я вижу 13 и 10 в консоли. Может быть, обновить rCharts. – Victorp

+0

Ooof, хорошее мышление. Сейчас это работает и для меня. Обновите пакет. Это урок. Большое вам спасибо за то, что вы попробовали и ответили. – user2894965

ответ

1

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

Благодаря Victorp.

Смежные вопросы