ios - 无法实现核心图条形图中条形颜色的更改

标签 ios objective-c core-plot bar-chart

我有一个包含 12 个条形的简单条形图。为此,我使用核心图。我需要实现一种方法,根据条形的值从浅蓝色(最小值)到深蓝色(最大值)着色。

现在我将所有条形涂成一种颜色:

self.barPlot.fill = [CPTFill fillWithColor:[CPTColor colorWithComponentRed:100.0f / 255.0f green:192.0f / 255.0f blue:245.0f / 255.0f alpha:1.0f]];

我知道可以为每个条设置颜色的方法:

-(CPTFill *)barFillForBarPlot:(CPTBarPlot *)barPlot recordIndex:(NSUInteger)idx;

但是我找不到适合我的目的的好的代码。有帮助吗?

最佳答案

我发布了已解决问题的代码。感谢您的支持。

    - (CPTFill *) barFillForBarPlot:(CPTBarPlot *)barPlot recordIndex:(NSUInteger)index
{
    CGFloat minValue = [[[[[PlotDataStore sharedInstance] docsCount] valueForKey:@"docs"] valueForKeyPath:@"@min.self"] floatValue];
    CGFloat maxValue = [[[[[PlotDataStore sharedInstance] docsCount] valueForKey:@"docs"] valueForKeyPath:@"@max.self"] floatValue];
    CGFloat value = [[[[[PlotDataStore sharedInstance] docsCount] valueForKey:@"docs"] objectAtIndex:index] floatValue];
    CGFloat resultHue = (value * 0.6f / (maxValue - minValue)) + 0.4f;

    return [CPTFill fillWithColor:[CPTColor colorWithCGColor:[UIColor colorWithHue:0.561f saturation:resultHue brightness:1.0f alpha:1.0f].CGColor]];
}

关于ios - 无法实现核心图条形图中条形颜色的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21473373/

相关文章:

ios - 快速从用户电话号码获取电话国家代码

ios - 如何更新 TableView 中的数据(Swift)

javascript - 为什么 AJAX 调用不仅仅在 iOS 上工作,在其他地方都工作得很好?

iphone - 地址簿:尝试添加 'Home' 和 'Work' 地址,但只显示 1 个

ios - 我没有编辑的 UITableViewCell(不可见的部分)也被编辑了。

ios - Swift 像闭包一样使用选择器参数

iphone - UIImagePickerController 通过委托(delegate)更改相机源?

iphone - Core Plot ScatterPlot y 轴未缩放以适合屏幕和绘图

ios - Xcode 11.0-swift 的 Core Plot iOS 编译器错误

ios - 有人可以解决我对 corePlot 中的 CPTPlotDatasource 的查询吗