核心图 - 线下渐变

Core plot - gradient below line

我一直在尝试设置绘图下的渐变:

//add gradient to line
    CPTColor *underLineGradientStartColor       = [CPTColor colorWithComponentRed:CPTFloat(0.0) green:CPTFloat(1.0) blue:CPTFloat(0.0) alpha:CPTFloat(1.0)];
    CPTColor *underLineGradientEndColor         = [CPTColor colorWithComponentRed:CPTFloat(1.0) green:CPTFloat(0.0) blue:CPTFloat(0.0) alpha:CPTFloat(1.0)];
    CPTGradient *underLineGradient              = [CPTGradient gradientWithBeginningColor:underLineGradientStartColor endingColor:underLineGradientEndColor];
    underLineGradient.angle                     = -90.0;
    CPTFill *underLineGradientFill              = [CPTFill fillWithGradient:underLineGradient];
    dataSourceLinePlot.areaFill                 = underLineGradientFill;

我还设置了 areaBaseValues:

dataSourceLinePlot.areaBaseValue = @0;
dataSourceLinePlot.areaBaseValue2 = @255;

我要绘制的值在 0-255 范围内(绘制范围设置为常数)。但是,有时我会收到无效值(例如 1000)。不正确的值不会显示,因为它们超出范围。然而,渐变想要填充它们,结果渐变不可见(只有它的最低部分在屏幕上 - 不是整个范围)。我该如何更改它?

编辑: 这是它现在的样子: 我想要从 0 到 255 的渐变(高于 255 的值可以是纯绿色)。

让数据源将无效数据指向一个刚好超出绘图范围最大值的值。例如,如果绘图范围永远不会超过 255,则将数据源 return 的任何无效数据点的 y 值设置为 255.1。 255 以上的填充是什么并不重要,因为它在绘图区域之外,您永远看不到它。