Центральная ось на диаграмме с использованием видимости

В настоящее время я работаю с 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%. Таким образом, ось может быть отцентрирована.

Вы можете использовать специальный цвет (прозрачный?) Для первой панели или использовать другой элемент управления, чтобы покрыть ее, чтобы пользователь мог видеть только реальные данные.

Другие вопросы по тегам