Мы сравниваем несколько серий с использованием логарифмической шкалы. В большинстве случаев диаграмма выглядит отлично и правильно масштабируется до min/max данных. В приведенном ниже примере верхняя серия отключена. Единственное, что меняется, это данные. Если мы изменим период времени на любой из других параметров, он будет правильно масштабироваться, возврат к 1Y будет иметь ту же проблему. Есть ли способ решить эту проблему?Проблема с логарифмической осью с HighCharts
Второй вопрос, который у меня есть, касается логики линий/меток сетки в шкале журнала. Не следует ли, по умолчанию, шаги основываться на Log (10), например [0,10%, 1%, 10%, 100%, 1000%]? Есть ли опция конфигурации, чтобы установить это? В приведенном ниже примере значение по умолчанию [0,10, 0,20, 0,40, 1,00] не имеет большого смысла.
Это то, что этикетки/тиков всегда должны выглядеть следующим образом: jsfiddle.net/TeTMw/1
EDIT:
Вот Highcharts код, который выглядит вызывает эту ошибку. Было бы здорово, если бы вы смогли исправить эту проблему.
// Second case: We need intermediary ticks. For example
// 1, 2, 4, 6, 8, 10, 20, 40 etc.
} else if (interval >= 0.08) {
var roundedMin = mathFloor(min),
intermediate,
i,
j,
len,
pos,
lastPos,
break2;
if (interval > 0.3) {
intermediate = [1, 2, 4];
} else if (interval > 0.15) { // 0.2 equals five minor ticks per 1, 10, 100 etc
intermediate = [1, 2, 4, 6, 8];
} else { // 0.1 equals ten minor ticks per 1, 10, 100 etc
intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9];
}
for (i = roundedMin; i < max + 1 && !break2; i++) {
len = intermediate.length;
for (j = 0; j < len && !break2; j++) {
pos = log2lin(lin2log(i) * intermediate[j]);
if (pos > min && lastPos <= max) {
positions.push(lastPos);
}
if (lastPos > max) {
break2 = true;
}
lastPos = pos;
}
}
Как вы используете сравнить с логарифмической оси? В Highstock для логарифмической шкалы допускаются только положительные значения. Не могли бы вы воссоздать пример на jsFiddle? –