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