我必须添加一个绘图符号,并在用户选择的点显示x和y坐标值。并且通过在方法
中添加CPTPlotSpaceAnnotation来实现该任务-(void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index
并在方法中选择的索引以外的索引处返回nil值,
-(CPTPlotSymbol *)symbolForScatterPlot:(GraphScatterPlot *)plot recordIndex:(NSUInteger)index
仅显示一个地块。
为了只显示一个图,我必须为线上的每个用户触摸重新加载图形。但是对于大型数据集来说,这是一个繁琐的过程。因此,每次触摸后UI都会停留一段时间。我怎么能避免这个?
答案 0 :(得分:3)
不使用主散点图上的绘图符号,而是使用第二个散点图。它只需要一个数据点 - 您想要标记的数据点。当您想要更新符号的位置时,仅在第二个图上调用-reloadData
(不在图表上)。从-numberOfRecordsForPlot:
返回零(0)以删除绘图符号。如果以这种方式执行,您也不需要-symbolForScatterPlot:recordIndex:
数据源方法。只需将主图上的plotSymbol
设置为nil(默认值),然后将其设置为第二个图上的所需标记。