OGeek|极客世界-中国程序员成长平台

标题: ios - CorePlot中散点图的非缩放/绝对梯度? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:53
标题: ios - CorePlot中散点图的非缩放/绝对梯度?

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

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

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

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

CorePlot 支持这个吗?如果不是,那么实现它的“正确”方法是什么?

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



Best Answer-推荐答案


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

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

enter image description here

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

enter image description here

可以清楚的看到大值的尖端和小值的尖端有着不同的梯度值。

关于ios - CorePlot中散点图的非缩放/绝对梯度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18497080/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4