1
我在ios上使用coreplot並繪製散點圖。是否可以根據繪製的點來改變線條樣式?我只發現如何爲整個情節設置它。更改CPScatterPlot不同點的線條樣式
我在ios上使用coreplot並繪製散點圖。是否可以根據繪製的點來改變線條樣式?我只發現如何爲整個情節設置它。更改CPScatterPlot不同點的線條樣式
是的。通過執行 - 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;
}
那是一個很好的答案,但我認爲它不是他提出的要求。我想這個想法是,例如,如何讓法線圖成爲虛線圖。您的建議顯示瞭如何根據當前索引更改繪圖符號。如果你能解釋如何在中途改變線條的樣式,我會很高興。謝謝 – Petar
爲了以防萬一,如果有人想使用symbolForScatterPlot,他必須使用CPTScatterPlotDataSource委託。 – alecnash