1

介绍

我正在使用 TChart 组件,发现选项相当混乱,很难找到我需要的东西。

图表的左轴最小值为 0,最大值为 5000,下轴最小值为 0,最大值为 52(一年中的周数)。

在我的图表中,我有 2 个系列,这些系列是根据我创建的记录中的值填充的,可以在运行时进行编辑,到目前为止一切正常。

问题

看看下面的图表部分填充了一些随机值的图像:

在此处输入图像描述

我不确定是否存在这样的选项,但请注意,从第 4 周开始,在没有添加任何值的情况下,有一条实线红线。

我不希望图表绘制小于 0 的值,因此在此示例中,从第 4 周开始应该不再有线条(我可以确认从第 4 周开始我将值设置为 -1)

第 1 周到第 4 周没有显示这条底部红线,显然是因为值大于 0,因此绘制在这条线的上方,但这应该让我的问题更清楚一点。

那么,如何防止图表绘制/绘制小于 0 的值,这对于图表的下轴很重要?

我确信某处必须有一个简单的选项,如果有一个我就找不到它,因为我对 TChart 组件不太熟悉。

4

2 回答 2

5

将值添加到系列以将它们添加为空时,您有可能。

这将阻止它们显示。

Ken 说得对,一个棘手的情况是处理被空值包围的单个值。选择另一种系列类型而不是FastLine显示点和线可能会更好。

对于FastLine显示间隙的系列,请设置:

Series1.IgnoreNulls := False;

并区分低于零的值:

if (y < 0) then
  Series1.AddNullXY(x, y, '')
else
  Series1.AddXY(x, y, '');
于 2013-02-28T22:30:26.930 回答
1
if y < 0 then
   LineSeries1.AddXY(x, y, '', clNone)
else
   LineSeries1.AddXY(x, y, '', clRed);
于 2013-04-23T14:52:57.547 回答