Отключение автоматического сопоставления двух или более строк по их максимальным значениям

Я использую amchart (не фондовую диаграмму) для создания диаграмм из двух или более наборов данных. Я заметил, что строки с разными значениями корректируются по их максимальным значениям. Пожалуйста, взгляните на прикрепленный скриншот:

amchart

Как вы можете видеть, например, сумма 1,8 тыс. выше суммы 4,2 тыс. из-за включенной автоматической настройки. Поиск по форуму амчартов результатов не дал. Заранее спасибо!

ОБНОВЛЕНИЕ 1: я нашел одно сообщение с похожим проблема, но я думаю, что это не очень хороший способ настроить оси таким образом:

ОБНОВЛЕНИЕ 2: Принимая во внимание ответ @zerion, я написал несколько строк в своем бэкенде, чтобы убедиться, что синхронизация всегда будет правильной. Я вычисляю минимальные и максимальные значения для каждого числового поля, которое будет использоваться в качестве оси, затем с помощью usort я сортирую массив набора данных по условию (max-min).


person Riddick    schedule 27.12.2013    source источник


Ответы (2)


Да или можно вообще оси синхронизировать:

valueAxis2.synchronizeWithAxis (valueAxis1); valueAxis2.synchronizationMultiplier = 1;

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

person zeroin    schedule 28.12.2013
comment
По каким-то непонятным причинам этот метод не работает, когда осей больше двух, синхронизация работает только для последней оси, все остальные пропадают: valueAxis1.synchronizationMultiplier = 1; valueAxis1.synchronizeWithAxis(valueAxis0); valueAxis2.synchronizationMultiplier = 1; valueAxis2.synchronizeWithAxis(valueAxis0); valueAxis3.synchronizationMultiplier = 1; valueAxis3.synchronizeWithAxis(valueAxis0); - person Riddick; 28.12.2013
comment
Это сработало после того, как я установил синхронизацию, как показано ниже: ...valueAxis1.synchronizationMultiplier = 1; valueAxis1.synchronizeWithAxis(valueAxis0); valueAxis2.synchronizationMultiplier = 1; valueAxis2.synchronizeWithAxis(valueAxis1); valueAxis3.synchronizationMultiplier = 1; valueAxis3.synchronizeWithAxis(valueAxis2); Спасибо, @zeroin! - person Riddick; 29.12.2013

После более тщательных исследований я обнаружил, что необходимого эффекта можно добиться, установив для valueAxis.maximum (и, возможно, valueAxis.minimum, если есть отрицательные значения) самое высокое (самое низкое) значение среди всех наборов данных.

person Riddick    schedule 28.12.2013