简介
我正在使用TChart组件,我发现选项相当混乱,很难找到我需要的东西。
图表的左轴最小值为0,最大值为5000,底轴的最小值为0,最大值为52(一年中的周数)。
在我的图表中,我有2个系列根据我创建的记录中的值填充,可以在运行时编辑,到目前为止一切正常。
问题
看一下图表中部分图片的下图,其中填写了一些随机值:
我不确定是否存在这样的选项,但是从第4周开始通知没有添加任何值的地方有一条红线。
我不希望图表绘制小于0的值,所以在这个例子中从第4周开始就不应该有更多行(我可以确认从第4周起我将值设置为-1 )
第1周到第4周没有显示这个底部的红线,显然是因为这些值大于0并因此被绘制在线上方,但这应该会让我的问题更加清晰。
那么,如何防止图表绘制/绘制小于0的值,重要的是图表的底部轴?
我确信某处必须有一个简单的选项,如果有的话,我就找不到它,因为我对TChart组件不太熟悉。
答案 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);