2015-10-05 2 views
-2

Я использовал диаграмму High-Stocks. Я хочу, чтобы формат даты по оси x был представлен в неделю или месяц или год в зависимости от выбора пользователя (заданного в переключателе). Как мне это сделать?. ссылка! В этом я сохранил переключатель в течение недель, месяцев, лет.Highstocks candlesticksandvolume datetime

+0

Мой код в https://jsfiddle.net/hdt9yqff/1 –

ответ

0

В начале вам необходимо применить имя для ввода и удалить идентификатор (в html вы не должны использовать элементы с тем же идентификатором).

Следующий шаг - щелкнуть событие щелчка на переключателях и извлечь крайности на xAxis (мин. И макс.). Если у вас это есть, вы должны рассчитать, сколько дней вам нужно отложить с последней точки (время в миллисекундах) и вызвать setExtremes для применения нового диапазона.

Пример: http://jsfiddle.net/hdt9yqff/2/

$('input[name="crange"]').click(function() { 
     var chart = $('#container').highcharts(), 
      xAxis = chart.xAxis[0], 
      extremes = xAxis.getExtremes(), 
      index = parseFloat($(this).val()), 
      range; 

     switch (index) { 
      case 0: //week 
       range = 7 * 24 * 3600 * 1000; //7 days 
       break; 
      case 1: 
       range = 31 * 24 * 3600 * 1000; //31 days 
       break; 
      case 2: 
       range = 3 * 31 * 24 * 3600 * 1000; //quark days 
       break; 
      case 3: //year 
       range = 365 * 24 * 3600 * 1000; //1 year 
       break; 
     } 

     xAxis.setExtremes(extremes.max - range, extremes.max); 
    }); 
+0

Несколько месяцев 30 дней и несколько месяцев имеют 31 дней и так далее .. Как я могу определить его .I waht отображать только данные мотыльков в диаграмме, если выбран 1 месяц –

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