核心图 - 线下渐变
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 以上的填充是什么并不重要,因为它在绘图区域之外,您永远看不到它。
我一直在尝试设置绘图下的渐变:
//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)。不正确的值不会显示,因为它们超出范围。然而,渐变想要填充它们,结果渐变不可见(只有它的最低部分在屏幕上 - 不是整个范围)。我该如何更改它?
编辑:
这是它现在的样子:
让数据源将无效数据指向一个刚好超出绘图范围最大值的值。例如,如果绘图范围永远不会超过 255,则将数据源 return 的任何无效数据点的 y 值设置为 255.1。 255 以上的填充是什么并不重要,因为它在绘图区域之外,您永远看不到它。