2013-05-07 4 views
20

У меня проблема с высокими диаграммами, где у меня есть несколько разных диаграмм, генерируемых вызовами JSON.Установить минимальное значение y для оси y для высоких диаграмм, если нет отрицательных данных

Для большинства этих диаграмм мне нужно установить минимальное значение оси Y в 0, однако есть несколько случаев, когда необходимо показывать отрицательные значения. Как я могу сказать, что высокие диаграммы имеют минимальное значение оси y 0, только если в данных нет отрицательных значений, возможно ли это?

Благодаря

+0

Ссылка на лучший/правильное решение, если вы используете Highcharts 5.0 и выше https://stackoverflow.com/a/41105873/2952405 –

ответ

2

Вы можете подготовить свою собственную функцию, которая проверить отрицательный есть или нет, а затем установите соответствующие галочки. Для того чтобы достигнуть этого, вы должны использовать tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner

9

Вы можете добавить к вашей оси у:

yAxis: { 
      title: { 
       text: 'Title of the y-axis' 
      }, 
      min: 0 // this sets minimum values of y to 0 
     }, 
+9

это всегда будет установить мин до 0 . вопрос спросил: «Как я могу сказать, что высокие диаграммы имеют минимальное значение оси y 0, только если в данных нет отрицательных значений» – MurWade

+0

Идеальное решение. Сохраните некоторое пространство пользовательского интерфейса – sansid1983

7

Я достиг этого путем создания функции с использованием setExtremes

var setMin = function() { 
    var chart = this, 
    ex = chart.yAxis[0].getExtremes(); 

    // Sets the min value for the chart 
    var minVal = 0; 

    if (ex.dataMin < 0) { 
    minVal = ex.dataMin; 
    } 

    //set the min and return the values 
    chart.yAxis[0].setExtremes(minVal, null, true, false); 
} 

то в вашем графике, вызывается так:

$('#container').highcharts({ 
    chart: { 
    events: { 
     load: setMin 
    } 
    }, 
}); 
3

Вы можете использовать t «floor», это определяет минимально возможное значение min. Когда добавляются отрицательные значения, они не будут видны! (http://api.highcharts.com/highcharts/xAxis.floor)

yAxis: { 
    floor: 0 
} 

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

3

Опция, которую вы ищете, называется softMin и была представлена ​​в версии 5.0.1. Документы описывают его следующим образом:

Мягкий минимум для оси. Если минимум данных серии больше , то ось будет оставаться на этом минимуме, но если минимальные данные серии ниже, ось будет гибкой, чтобы отображать все данные.

yAxis: { 
    softMin: 0 
} 

http://api.highcharts.com/highcharts/yAxis.softMin

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