核心图 - 线下的梯度

时间:2016-03-09 16:51:45

标签: ios core-plot

我一直试图在情节下设置渐变:

//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)。不显示不正确的值,因为它们超出范围。然而,渐变想要填充它们,结果渐变是不可见的(只有它的最低部分在屏幕上 - 不是全范围)。我怎样才能改变它?

编辑: 这就是它现在的样子: enter image description here 我希望梯度从0到255(255以上的值可以是纯绿色)。

1 个答案:

答案 0 :(得分:1)

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