我的 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 的事实对这个问题并不重要。