Core Plot Gradient bars

时间:2014-09-24 09:33:40

标签: ios objective-c ipad uiimage core-plot

我正在使用核心情节创建我的图表。

我希望在我的条形图中有一个渐变,以便颜色从黄色开始变为红色。然而,这取决于杆的高度。例如,图表应如下所示:

enter image description here

我正在使用应用程序中最右边(最高的)的图像。但是有两个问题。

1)酒吧是颠倒的。所以他们从红色开始,然后变黄。

2)如果我使用的图像太大,则条形图全部为红色。如果我使用太小的图像,它会重复开始。如果我使用正确尺寸的图像,那么它似乎有效。但是,我将在多个图表中使用这些图像,这些图像不会都是相同的大小。因此,使图像尺寸合适似乎效率低下。另外,每个情节我会有多个条形图,因此如果图形改变大小,那么这意味着所有图像都必须更改。

以下是我用来创建条形码的代码:

CPTImage *image = [CPTImage imageForPNGFile:@"gradient-bar"];
image.tiled = YES;
CPTFill *areaFill = [CPTFill fillWithImage:image];

CPTBarPlot *plot = [[CPTBarPlot alloc] init];
plot.fill = areaFill;
plot.identifier = @"BIP";

以下是条形图像尺寸合适的图像:

enter image description here

我正在寻找的主要内容是能够在任何尺寸的图形上使用一个图像。

非常感谢。

=====

修改

如果我设置了image.tiled = NO,我会得到以下图表:

enter image description here

我希望这些图表与原始帖子中的图像一样。因此,在250左右,它应该只是黄色。然而,如果它是1000,它应该通过从黄色到红色的整个颜色范围。

1 个答案:

答案 0 :(得分:0)

您正在使用平铺图像,这就是当条形图大于原始图像时重复的原因。将tiled设置为NO以拉伸图像以填充条形图。我不知道为什么会被翻转。