我目前正在使用visifire
进行c#图表项目。
我想创建一个条形图,将百分比增加显示为绿色条形,并减少为红色条形。 Axis / 0点线应始终保持在相同位置。
问题是,轴当前在屏幕上移动,具体取决于显示的值。 (见下图)
我已经尝试将其设置为中心,并将axismaximum和axisminimum设置为固定值,但这并不起作用。
或者
那里是否有任何剩余的visifire裂缝,可以理解问题和帮助?
答案 0 :(得分:1)
一种解决方法是从系列中找到最大值(绝对值,使用Math.Abs
),然后将其计数器值添加到系列的开头。
例如,如果最大绝对值为-80%,则添加+ 80%。这样,轴可以居中。
您可以为第一个栏使用特殊颜色(透明?),或使用其他控件覆盖它,以便用户只能看到真实数据。
答案 1 :(得分:0)
使用数据绑定,这应该可以解决问题。 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>