【发布时间】:2013-04-16 18:06:15
【问题描述】:
我的 TeeChart 看起来不错,网格线/刻度出现在我希望的位置等等(X 轴 LabelStyle 设置为 talAuto)。现在我需要格式化 X 轴标签,以便它们显示时间偏移而不是数据点编号。
我已将 LabelStyle 更改为 talMark,并且正在处理图表的 OnGetAxisLabel。问题是,当我将 LabelStyle 设置为 talAuto 时,我的事件处理程序会为每个 X 轴点调用,而不仅仅是显示标签的点。
如何设置以便仅针对 LabelStyle 为 talAuto 时绘制的标签调用我的事件处理程序?
我正在使用 C++ Builder XE3 和 IDE 附带的 TeeChart 版本。
受 Yeray 评论启发的更新:
将 LabelStyle 设置为 talAuto 我总是将 -1 的 ValueIndex 传递给我的事件处理程序。在查看 LabelText 时,我看到了在 ValueIndex 中预期的值,但我也得到了相同数量的不正确值(忽略非 X 轴值)。比如……
我的图表显示 5 个 X 轴值:200、400、600、800、1000。我的事件处理程序按以下顺序调用了 10 次:
ValueIndex LabelText
-1 937.5
-1 0
-1 240,000
-1 200
-1 239,800
-1 1,000
-1 800
-1 600
-1 400
-1 200
我不知道前 5 个值是从哪里来的,也不知道为什么要调用我的事件处理程序。
注意:我删除了 C++ Builder 标签,因为任何使用 TeeChart 的人都可以回答这个问题,无论他们的语言如何;我使用 BCB 的事实对这个问题并不重要。
【问题讨论】:
-
我添加了 vcl 标签。您使用 BCB 的事实是部分相关的,因为不同的 TeeChart 版本可能表现不同。
标签: c++builder vcl teechart