Ответ 1
Вы можете добавить к оси y:
yAxis: {
title: {
text: 'Title of the y-axis'
},
min: 0 // this sets minimum values of y to 0
},
У меня проблема с highcharts, где у меня есть несколько разных диаграмм, создаваемых вызовами JSON.
Для большинства этих диаграмм мне нужно установить минимальное значение оси Y в 0, однако есть несколько случаев, когда нужно показывать отрицательные значения. Как я могу сказать, что высокие диаграммы имеют минимальное значение оси y 0, только если в данных нет отрицательных значений, возможно ли это?
Спасибо
Вы можете добавить к оси y:
yAxis: {
title: {
text: 'Title of the y-axis'
},
min: 0 // this sets minimum values of y to 0
},
Я достиг этого, создав функцию, используя 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
}
},
});
Опция, которую вы ищете, называется softMin
и была представлена в версии 5.0.1. Документы описывают это следующим образом:
Мягкий минимум для оси. Если минимум данных серии больше чем это, ось останется на этом минимуме, но если данные серии минимум меньше, ось будет гибкой, чтобы отображать все данные.
yAxis: {
softMin: 0
}
Вы можете подготовить свою собственную функцию, проверка которой отрицательная, или нет, а затем установить соответствующие тики. Чтобы добиться этого, вы должны использовать tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner
Вы можете установить "пол", это определяет минимально возможное значение min. Когда добавляются отрицательные значения, они не будут видны! (http://api.highcharts.com/highcharts/xAxis.floor)
yAxis: {
floor: 0
}
Я знаю, что этот вопрос давно задан, и этого свойства в то время не существовало. Но я просто сталкиваюсь с этой проблемой, и я думаю, что другие будут рады, что вам не придется искать.