2015-09-26 3 views
2

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

Я попытался ниже API, но это не помогло:

chart.scroller.scrollbar.hide(); 
chart.scroller.scrollbarGroup.hide(); 

scrollbarGroup.hide() - это удаление полосы прокрутки, но вместе с тем успех значение также удаления, которые я не хочу.

Моя вторая проблема заключается в загрузке в первый раз - моя полоса прокрутки прямо указывает на user3 вместо user1. Но если я делаю просверленное событие и делаю упражнение, его указание на ** user1, но не в первый раз.

Любая помощь была бы действительно оценена для решения этих двух проблем.

Here is my fiddle

+0

, но наряду с этим значением успеха и удаления не ясно –

+0

очень важная вещь, Highstock имеет только тип DATETIME в XAxis. Вот почему ваша серия отображается как дата и время. yu не заполняют категории массивом элементов. обратитесь к документации .. Просто используйте highcharts.js вместо highstock –

+0

Кажется, что у highcharts.js нет полосы прокрутки, вот почему я пошел на hightstock.js –

ответ

0

Вторая проблема: вызов установить экстремумы в случае нагрузки на получить крайности до 0,7 с самого начала.

Первая проблема: при сверлении события скройте chart.scroller.scrollbar, chart.scroller.scrollbarGroup и измените ширину штриха chart.scroller.scrollbarRifles, потому что скрыть не так хорошо. Обновить ось, чтобы установить новый мин как 0 (или вызвать setExtremes, если вам нужно установить min/max). В событии сверления показывают ранее скрытые элементы и устанавливают ширину строка назад на 1 для последнего.

Пример: http://jsfiddle.net/ndfk7vgd/19/

// Create the chart 
var chart = new Highcharts.Chart({ 
    chart: { 
     type: 'column', 
     renderTo: 'container', 
     events: { 
      load: function (e) { 
       this.xAxis[0].setExtremes(0, 7); 
      }, 
      drilldown: function (e) { 
       this.xAxis[0].update({ 
        min: 0 
       }); 
       chart.scroller.scrollbar.hide(); 
       chart.scroller.scrollbarGroup.hide(); 
       chart.scroller.scrollbarRifles.attr({ 
        'stroke-width': 0 
       }); 
      }, 
      drillup: function (e) { 
       chart.scroller.scrollbar.show(); 
       chart.scroller.scrollbarGroup.show(); 
       chart.scroller.scrollbarRifles.attr({ 
        'stroke-width': 1 
       }); 
       var _self = this.xAxis[0]; 
       setTimeout(function() { 
        _self.setExtremes(0, 7); 
       }, 1); 
      } 
     } 
    }, 
... 
0

Update Решение, которое я представил в ответ ниже был основан на том соображении, что вы используете highStock но очень важная вещь, Highstock имеет только тип DATETIME в XAxis. Вот почему ваша серия отображается как дата и время. вы не заполняете категории массивом элементов. смотрите документацию .. Просто используйте highcharts.js вместо highstock также относятся Highstock: set xAxis as not "datetime"

использовать следующий код в развертке

$(".highcharts-scrollbar").css("display", "none"); 
    chart.scroller.xAxis.labelGroup.hide(); 
    chart.scroller.xAxis.gridGroup.hide(); 
    chart.scroller.series.hide(); 
    chart.scroller.scrollbar.hide(); 
    chart.scroller.scrollbarGroup.hide(); 
    chart.scroller.navigatorGroup.hide(); 
    chart.scroller.scrollbarRifles.hide(); 
    $.each(chart.scroller.elementsToDestroy, function (i, elem) { 
     elem.hide(); 
    }); 

для drillup части относятся Fiddle here

+0

Спасибо, Нишит! Но выше решение не мой ожидаемый результат. Полоса прокрутки сама по себе выглядит по-другому и в верхней части ее приближается какая-то дополнительная ценность, и все, что нравится ** Zoom **, From и To Date и т. Д. –

+0

Вы хотите, чтобы селекторы диапазона, фильтр даты также были скрыты? добавьте эти вещи также в функции. –

+0

да! Я хочу скрыть и в оси y вместо user1, пользователь 2, показывающий Jan и некоторое время - не уверен, почему? –

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

  • Нет связанных вопросов^_^