2015-11-04 3 views
0

Я хотел бы показать только на 2 Гб и значения 4 ГБ (всего 2 значения) в оси у этого графика (см jsFiddle):Показать только два значения оси в Highcharts

$(function() { 
    $('#container').highcharts({ 
     chart: { 
      type: 'bar' 
     }, 
     title: { 
      text: 'Stacked bar chart' 
     }, 
     xAxis: { 
      categories: ['Size'] 
     }, 
     yAxis: { 
      min: 0, 
      max: 4294967296, 
      labels: { 
       formatter: function() { 
        var maxElement = this.axis.max; 
        var kb = 1024, mb = 1048576, gb = 1073741824; 
        if (maxElement > gb) { 
         return (this.value/gb).toFixed(1) + " GB"; 
        } else if (maxElement > mb) { 
         return (this.value/mb).toFixed(1) + " MB"; 
        } else if (maxElement > kb) { 
         return (this.value/kb).toFixed(1) + " KB"; 
        } else { 
         return (this.value) + " B"; 
        } 
       } 
      }, 
      title: { 
       text: '' 
      } 
     }, 
     tooltip: { 
      formatter: function() { 
       return '<b>' + this.series.name + '</b><br/>' + this.x + ': ' + filesize(this.y); 
      } 
     }, 
     legend: { 
      reversed: false 
     }, 
     plotOptions: { 
      series: { 
       stacking: 'normal' 
      } 
     }, 
     series: [{ 
      name: 'Versioned trees', 
      data: [94371840] 
     }, { 
      name: 'Metadata', 
      data: [115343360] 
     }, { 
      name: 'Data', 
      data: [1395864371.2] 
     }] 
    }); 
}); 

Можно ?

+1

Разве вы не можете просто фильтровать данные, прежде чем предоставить ему Highcharts? – Canvas

+0

@Canvas - Как это будет форматировать ось y? – jlbriggs

ответ

3

Вы можете использовать tickPositions свойство, например:

tickPositions:[0, 1073741824 * 2, 1073741824 * 4] 

Это не кажется, уважать min:0, если не включать в 0, но вы можете скрыть 0 этикетку, добавив:

showFirstLabel: false 

Обновлено Fiddle:

Ссылка:

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