繁体   English   中英

iOS图表具有多种颜色的堆叠条形图

[英]iOS-charts stacked bar chart with multiple colors

我正在尝试为每个条形图创建一个具有不同颜色的堆积条形图。 如果我在BarChartDataSet仅提供两种颜色,或者如果我有一个普通的条形图,且每个条形都有一种颜色,则它可以正常工作。 但是我想知道如何为数据集中的每个BarChartDataEntry提供两种颜色?

看一下ChartsDemo的堆叠条形图视图控制器:只需将颜色输入BarChartDataSet.colors

for (int i = 0; i < count; i++)
{
    double mult = (range + 1);
    double val1 = (double) (arc4random_uniform(mult) + mult / 3);
    double val2 = (double) (arc4random_uniform(mult) + mult / 3);
    double val3 = (double) (arc4random_uniform(mult) + mult / 3);

    [yVals addObject:[[BarChartDataEntry alloc] initWithValues:@[@(val1), @(val2), @(val3)] xIndex:i]];
}

BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithYVals:yVals label:@"Statistics Vienna 2014"];
set1.colors = @[ChartColorTemplates.vordiplom[0], ChartColorTemplates.vordiplom[1], ChartColorTemplates.vordiplom[2]];
set1.stackLabels = @[@"Births", @"Divorces", @"Marriages"];

在条形图渲染器中,它使用此颜色数组填充每个细分,

// Set the color for the currently drawn value. If the index is out of bounds, reuse colors.
CGContextSetFillColorWithColor(context, dataSet.colorAt(k).CGColor)

如果要使每个条形具有不同的颜色,则必须使用多个数据集并可能调整barSpacegroupSpace

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM