IOS图表雷达图表创建虚线

时间:2016-03-21 11:22:11

标签: ios objective-c ios-charts radar-chart

want line to be dashed

我希望这一行能够破灭:

    RadarChartDataSet *benchMarkSet = [[RadarChartDataSet alloc] initWithYVals:benchMark label:@"Set 2"];
    [benchMarkSet setColor:[UIColor colorWithRed:125/255.0f green:125/255.0f blue:125/255.0f alpha:0.6f]];
    benchMarkSet.fillAlpha = 0.5f;
    benchMarkSet.lineWidth = 2.0;
    benchMarkSet.highlightLineWidth = 0.5;
    benchMarkSet.highlightLineDashPhase = 0;
    benchMarkSet.highlightLineDashLengths = @[@10, @5, @6, @5, @10, @0.0];
    benchMarkSet.highlightColor = [UIColor whiteColor];
    RadarChartData *data = [[RadarChartData alloc] initWithXVals:xVals dataSets:@[set2, benchMarkSet]];
    [data setValueFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:8.f]];
    [data setDrawValues:NO];

    self.radarChart.data = data;

我尝试过使用这些方法:highlightLineWidth,highlightColor,highlightDashPhase,highlightDashLenghts无济于事 - 如果有人在此之前做到这一点会很棒!目前这些方法似乎什么也没做。

1 个答案:

答案 0 :(得分:0)

您正在更改错误的属性,这与"突出显示"无关。坏消息是,ios-charts不能为你想要的东西提供原生支持。

如果您查看RadarChartRenderer,则渲染器只会从数据中读取颜色和lineWidth

我建议您创建RadarChartRenderer的子类,覆盖drawData:(context:),复制原始实现,但在CGContextSetLineDash(...)调用之前添加drawDataSet(...)

只需设置实例化自定义渲染器并将其指定给图表视图。