TChart - 不要绘制小于0的值吗?

时间:2013-02-28 20:43:23

标签: delphi charts

简介

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

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

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

问题

看一下图表中部分图片的下图,其中填写了一些随机值:

enter image description here

我不确定是否存在这样的选项,但是从第4周开始通知没有添加任何值的地方有一条红线。

我不希望图表绘制小于0的值,所以在这个例子中从第4周开始就不应该有更多行(我可以确认从第4周起我将值设置为-1 )

第1周到第4周没有显示这个底部的红线,显然是因为这些值大于0并因此被绘制在线上方,但这应该会让我的问题更加清晰。

那么,如何防止图表绘制/绘制小于0的值,重要的是图表的底部轴?

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

2 个答案:

答案 0 :(得分:5)

您可以在向系列添加值时将其添加为null。

这会阻止他们出现。

肯是正确的说,一个棘手的情况是处理由空值包围的单个值。 选择另一个系列类型而不是FastLine并显示点和线可能会更好。

要显示差距的FastLine系列,请设置:

Series1.IgnoreNulls := False;

并区分低于零的值:

if (y < 0) then
  Series1.AddNullXY(x, y, '')
else
  Series1.AddXY(x, y, '');

答案 1 :(得分:1)

if y < 0 then
   LineSeries1.AddXY(x, y, '', clNone)
else
   LineSeries1.AddXY(x, y, '', clRed);