【问题标题】:Strange effects when using a long axis in TChart在 TChart 中使用长轴时的奇怪效果
【发布时间】:2014-04-23 08:07:55
【问题描述】:

我在 delphi 表单 (XE4) 上放了一个 tchart,宽度为 65535 像素(最大值)。我已将底部轴的比例设置为固定值(最小 0,最大 65534),然后我使用类似以下内容添加值:

  for i := 0 to 60000 do
chart1.series[0].addXY(i, 10 + (i mod 80));

结果是一些奇怪的行为,在不应该出现的位置上绘制了额外的线,而 32767 以外的任何点都丢失了。当将底部轴的最大值设置为例如 5000 并用 0 到 5000 之间的“仅”100 个样本填充整个事物时,也会发生同样的事情。值得注意的是,一些添加值的组合接近底部的最大值轴似乎确实有效(甚至从左侧超过 32767 像素)。

有没有人对这种行为的原因有所了解?除了不使用宽度超过 32767 像素的 tcharts 之外,还有什么办法可以解决这个问题?

【问题讨论】:

  • 您真的在使用 65K 像素宽的图表吗?有没有可能做一个这样大小的窗口?
  • 我把图表放在一个TScrollbox里面,效果很好
  • 您使用的是什么类型的图表?快线之类的?听起来像 DrawAllPoints 问题 - 尝试将其设置为 True。还可以尝试不同的DrawAllPointsStyles。
  • 我认为你的做法是错误的。我会这样做。在面板内放置一个图表和两个滚动条。滚动条与alRightalBottom 对齐,图表与alClient。当用户滚动时,更改图表上显示的数据。如果要将所有数据放在前面,请使用滚动条修改轴范围。或者,如果有很多数据,您可以按需重新填充数据。当然,我很确定图表将具有滚动功能。
  • 同意这不是任何现实问题的明智解决方案。 TChart 有很多优化,你可能会因为如此荒谬的非物理图表大小而短路。将图表放在屏幕上(即:within),让图表按照@DavidHeffernan 的建议完成工作。

标签: delphi delphi-xe4 teechart


【解决方案1】:

TFastLineSeries 在 TeeChart Lite for FMX 中不可用,但在 TeeChart Standard for VCL 中可用。 见特征矩阵here

我已经能够使用 TLineSeries 在 VCL 项目中重现该问题,因此我已将其添加到公共 tracker。同时,如果您在 VCL 中,您可以更改为TFastLineSeries

【讨论】:

  • 很高兴知道 TFastLineSeries 工作正常,但是,它在我的 Delphi 版本中不可见(请参阅teechart.net/support//…)。此外,我对 TPointSeries 也有同样的问题
  • 我已经安装了补丁,启用了我一直在成功使用的TFastLineSeries。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 2022-10-02
  • 1970-01-01
相关资源
最近更新 更多