2011-06-25 19 views

回答

2

是的。通過執行 - symbolForScatterPlot:recordIndex:確保您的圖表代理符合CPScatterPlotDelegate。這裏有一個返回不同的符號相匹配_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; 
} 
+0

那是一個很好的答案,但我認爲它不是他提出的要求。我想這個想法是,例如,如何讓法線圖成爲虛線圖。您的建議顯示瞭如何根據當前索引更改繪圖符號。如果你能解釋如何在中途改變線條的樣式,我會很高興。謝謝 – Petar

+0

爲了以防萬一,如果有人想使用symbolForScatterPlot,他必須使用CPTScatterPlotDataSource委託。 – alecnash