Центральная ось на диаграмме с использованием видимости
В настоящее время я работаю с visifire
на графике проекта AC#.
Я хочу создать гистограмму, показывающую процентное увеличение в виде зеленых полос и уменьшение в виде красных полос. Линия оси / 0 всегда должна оставаться в одном и том же положении.
Проблема в том, что ось в настоящее время перемещается по всему экрану в зависимости от отображаемых значений. (см. изображение ниже)
Я уже пытался центрировать его с осями maxmax и axisminimum, чтобы зафиксировать значения, но это не работает.
То, как я хочу, чтобы это было так.
или это
Есть ли еще какие-нибудь видимые трещины, которые могут понять проблему и помочь?
2 ответа
Используя привязки данных, это должно сработать. MinValue = -MaxValue
<vc:Chart.AxesY >
<vc:Axis AxisMaximum="{Binding MinValue}" AxisMinimum="{Binding MaxValue}" Enabled="False" AxisType="Primary" >
</vc:Axis>
</vc:Chart.AxesY>
В противном случае это то же самое без привязки данных
<vc:Chart.AxesY >
<vc:Axis AxisMaximum="70" AxisMinimum="-70" Enabled="False" AxisType="Primary" >
</vc:Axis>
</vc:Chart.AxesY>
Одним из обходных путей для этого является поиск максимального значения (абсолютное значение, используя Math.Abs
) из серии, затем добавив значение счетчика в начало серии.
Например, если максимальное абсолютное значение равно -80%, то добавьте +80%. Таким образом, ось может быть отцентрирована.
Вы можете использовать специальный цвет (прозрачный?) Для первой панели или использовать другой элемент управления, чтобы покрыть ее, чтобы пользователь мог видеть только реальные данные.