Изменить стиль линии CPScatterPlot для разных точек - PullRequest
1 голос
/ 25 июня 2011

Я использую coreplot на ios и имею график рассеяния.Можно ли изменить стиль линии в зависимости от наносимой точки?Я только нашел, как установить его для всего сюжета.

1 Ответ

2 голосов
/ 26 июня 2011

Да. Убедитесь, что ваш делегат графа соответствует CPScatterPlotDelegate путем реализации - symbolForScatterPlot:recordIndex:. Вот рабочая реализация, которая возвращает другой символ для индекса, который соответствует _selectedIndex:

- (CPPlotSymbol *)symbolForScatterPlot:(CPScatterPlot *)plot recordIndex:(NSUInteger)index
{   
    CPMutableLineStyle *symbolLineStyle = [CPMutableLineStyle lineStyle];
    symbolLineStyle.lineColor = [CPColor blackColor];
    CPPlotSymbol *plotSymbol = [CPPlotSymbol ellipsePlotSymbol];
    plotSymbol.lineStyle = symbolLineStyle;

    if (_selectedIndex != NSNotFound && index == _selectedIndex) 
    {
        plotSymbol.symbolType = CPPlotSymbolTypeDiamond;
        plotSymbol.size = CGSizeMake(12, 12);
        plotSymbol.fill = [CPFill fillWithColor:[CPColor redColor]];
    }
    else
    {
        plotSymbol.symbolType = CPPlotSymbolTypeEllipse 
        plotSymbol.size = CGSizeMake(8, 8);
        plotSymbol.fill = [CPFill fillWithColor:[CPColor greenColor]];  
    }
    return plotSymbol;
}
...