TeeChart CircularGauge Axis自定义轴标签格式问题

时间:2014-07-15 08:32:27

标签: ios .net teechart

我使用TeeChart for Xamarin.iOS。我有CircularGauge,必须显示大数字(e + 200)。 带有长文本(大数字)的轴标签以奇怪的方式位于图表的中心。 ValueFormat属性不适用于CircularGauge。 GetAxisDrawLabel事件有效,但格式化后标签无法正确定位。位置是根据旧的长值计算的,而不是格式化的值。我认为这是TeeChart的错误。 如何解决这个问题?请帮忙。

1 个答案:

答案 0 :(得分:0)

几个星期前我们遇到了同样的问题。经过长时间的头脑风暴,我们找到了解决此案例的方法。在写入仪表之前,我们使用了范围和输入值的缩放。我将尝试通过例子来解释。

我们希望显示值的范围为-1.3e + 20到1.3e + 20.

  1. 我们设置最小值10000和最大值99999。标签中的文字总是长度为5,而标尺可以计算5个字符的标签尺寸和位置;
  2. 我们在事件处理程序中更改标签文本,以便在显示之前更改标签中文本的可能性。此方法设置以下文本:

      

    var text =(( - 1.3e + 20)+(value - 10000.0)/(99999 - 10000)*((1.3e + 20) - ( - 1.3e + 20)))。ToString(&#34 ; E1&#34);

  3. 箭头的传入值我们按公式更改:

      

    var scaledValue = 10000 +(value - (-1.3e + 20))/((1.3e + 20) - (-1.3e + 20))*(99999 - 10000);

  4. 此计算箭头位于正确位置且标签具有正确的文本。所有这些黑客对用户来说无关紧要,这些用户会看到仪表。

    我希望这个解决方案可以帮到你。