CorePlot轴上的水平渐变

时间:2014-03-25 03:19:08

标签: ios objective-c core-plot

我正在尝试在CorePlot中的y轴上创建水平渐变:

CPTGradient *axisGradient = [CPTGradient gradientWithBeginningColor:[CPTColor redColor] endingColor:[CPTColor yellowColor]];
axisGradient.angle = 180.f;

CPTMutableLineStyle *axisStyle = [y.axisLineStyle mutableCopy];
axisStyle.lineWidth = 6.f;
axisStyle.lineGradient = axisGradient;

y.axisLineStyle = axisStyle;

无论我设置什么,梯度的渐变角度都是垂直的。有人有什么想法吗?

2 个答案:

答案 0 :(得分:1)

对于水平渐变,您可以使用

CPTColor *areaColorStart       = [CPTColor colorWithComponentRed:0.74 green:0.78 blue:0.82 alpha:1];
CPTColor *areaColorEnd     = [CPTColor colorWithComponentRed:0.9 green:0.91 blue:0.92 alpha:.2];
CPTGradient *areaGradient1 = [CPTGradient gradientWithBeginningColor:areaColorStart endingColor:areaColorEnd];
areaGradient1.angle = 0.0f;
CPTFill *areaGradientFill = [CPTFill fillWithGradient:areaGradient1];
plot.areaFill       = areaGradientFill;
plot.areaBaseValue = CPTDecimalFromFloat(yRange);
希望它会有所帮助。

答案 1 :(得分:0)

Core Plot沿着直线路径绘制渐变线填充。如果您想要一个高大的,带有渐变的矩形,该渐变从顶部的一种颜色渐变到底部的另一种颜色,请使用绘图空间注释。为注释内容创建CPTBorderedLayer并为其添加渐变填充([CPTFill fillWithGradient:axisGradient])。