CorePlot中散点图的非缩放/绝对梯度?

时间:2013-08-28 19:54:59

标签: ios core-plot

我以通常的方式为散点图添加了渐变:

CPTFill areaGradientFill = [CPTFill fillWithGradient:areaGradient1];
boundLinePlot.areaFill = areaGradientFill;
boundLinePlot.areaBaseValue = 0;

使用areaBaseValue属性可以轻松设置渐变的最小值。但是,渐变将始终拉伸,以便areaGradient1定义的整个颜色范围显示在折线图下方。

我想要做的是设置绝对y轴范围(例如,0到100)并且始终将梯度设置为该范围。因此,如果我的线在y = 50处,则只有底部50%的渐变将呈现在线下方。我认为设置boundLinePlot.areaBaseValue2 = 100;会这样做,但它没有任何效果。

CorePlot是否支持此功能?如果没有,那么实施它的“正确”方法是什么?

(这是我的第一个问题,如果我不清楚,请道歉。要温柔。:))

2 个答案:

答案 0 :(得分:1)

虽然没有直接的方法来实现这一点,但你可以使用一个技巧。使您的水平全局范围比正常显示的宽,并且不要使图形水平滚动。在隐藏区域中为图表添加值,该值始终是您的最大值。这将填充完整的渐变。然而,其他部分只会获得部分渐变,具体取决于它们的高度。

我在查看我的一张图表时偶然发现了这个伎俩。看:

enter image description here

顶部的概述显示了当前大图的位置(绿色限制带)。现在将其与另一部分进行比较:

enter image description here

您可以清楚地看到大值的尖端具有不同的渐变值作为较小值的尖端。

答案 1 :(得分:0)

您可以使用“背景限制范围”在图形后面以特定大小绘制填充,但不会将其剪切到绘图线。