2014-09-08 3 views
1

Так им с помощью этого кода, чтобы создать Highcharts линейную диаграммуминимум в Highcharts не работает

http://jsfiddle.net/3oLh5r2w/

$(function() { 
    $('#container').highcharts({ 
     chart: { 
      zoomType: 'x' 
     }, 
     title: { 
      text: 'USD to EUR exchange rate from 2006 through 2008' 
     }, 
     subtitle: { 
      text: document.ontouchstart === undefined ? 
        'Click and drag in the plot area to zoom in' : 
        'Pinch the chart to zoom in' 
     }, 
     xAxis: { 
      type: 'datetime', 
      minRange: 14 * 24 * 3600000 // fourteen days 
     }, 
     yAxis: { 
      title: { 
       text: 'Exchange rate' 
      }, 
      floor:1, 
      min: 1, 
      max: 300, 
      reversed: true, 
     }, 
     legend: { 
      enabled: false 
     }, 
     plotOptions: { 
      area: { 
       fillColor: { 
        linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1}, 
        stops: [ 
         [0, Highcharts.getOptions().colors[0]], 
         [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')] 
        ] 
       }, 
       marker: { 
        radius: 2 
       }, 
       lineWidth: 1, 
       states: { 
        hover: { 
         lineWidth: 1 
        } 
       }, 
       threshold: null 
      } 
     }, 

     series: [{ 
      type: 'line', 
      name: 'USD to EUR', 
      pointInterval: 24 * 3600 * 1000, 
      pointStart: Date.UTC(2006, 0, 1), 
      data: [ 
       83, 28, 253, 113, 72, 177, 279, 71, 228, 72, 54, 162, 275, 246, 111, 119, 225, 19, 244, 102, 1, 75 
      ] 
     }] 
    }); 
}); 

В Fiddle, Im пытается сделать так, чтобы YAxis всегда показывает 1 - 300. Проблема, с которой я столкнулась, заключается в том, что она всегда округляется до нуля. Я попытался использовать startOnTick, но ничего не сделал. Единственное, что я смог найти, чтобы он работал правильно, был setExtremes, но его можно было активировать только через функцию после загрузки, такую ​​как функция щелчка.

Как я могу заставить это работать правильно?

ответ

1

В случае, когда вы устанавливаете мин как 1, вам нужно иметь tickInterval, что позволяет достичь 300. Другое решение использует tickPositions/tickPositioner

EDIT: Примеры: http://jsfiddle.net/3oLh5r2w/4/tickPositions

+0

tickPositions - это путь к IMO – jlbriggs

+0

Не забудьте изучить этот. спасибо: D – YeahMKD

+0

На самом деле это не то, что я искал. Мне нужна диаграмма yaxis, чтобы всегда показывать 1 - 300 и не более или менее: D – YeahMKD

1

startOnTick : false установлено,

Здесь дополненная скрипку

http://jsfiddle.net/3oLh5r2w/2/

здесь документация

Минимальное значение оси. Если null, значение min автоматически рассчитывается. Если значение параметра startOnTick равно true, минимальное значение может быть округлено вниз.

+0

Это работало, если одно из значений выше 10, но может ли график всегда быть 1 - 300, даже если все точки равны 300? – YeahMKD

+0

вы можете попробовать это в jsfiddle, поставить все точки как 300, и он все еще работает –