【问题标题】:Core Plot Gradient bars核心绘图梯度条
【发布时间】:2014-11-18 17:48:36
【问题描述】:

我正在使用核心图来创建图表。

我想在我的条形图中使用渐变,以便颜色从黄色开始变为红色。然而,这取决于酒吧有多高。例如,图表应如下所示:

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

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";

这是条形图像大小合适时的图像:

我正在寻找的主要内容是能够拥有一张可以在任何大小的图表上使用的图像。

非常感谢。

=====

编辑

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 嗨,埃里克,感谢您的回复。我尝试将平铺图像设置为 no,但这并没有达到我想要的结果。请看我编辑的帖子。谢谢。
    • 如果您想要平铺外观,请确保图像至少与最高条一样高(以屏幕点为单位)。
    • 感谢您确认这是正确的方法。感谢 Core Plot 的出色工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多