我正在使用自定义图片符号,如Showing images on Scattering Graph as plot symbols in Core plot iOS中所述。另请参阅Positioning label on CPTBarPlot (Core-Plot)关于数据标签在CPTPlot
中的定位。
但是,我没有看到CPTScatterPlot.labelOffset
我需要的行为。正值会增加图像底部和点之间的距离,而负值会增加图像顶部和点之间的距离。我需要将图像置于点上。见截图:
我的解决方案很糟糕,需要我在CustomImageForScatterPlot
的{{1}}方法中修改图片框。关于如何让drawInContext
按我的方式工作的任何想法?
答案 0 :(得分:5)
这种行为对于数据标签是正确的。您想使用绘图符号。
-(CPTPlotSymbol *)symbolForScatterPlot:(CPTScatterPlot *)plot
recordIndex:(NSUInteger)index
{
CPTPlotSymbol *symbol = nil;
if ( /* use symbol for this index? */ ) {
symbol = [CPTPlotSymbol ellipsePlotSymbol];
symbol.fill = [CPTFill fillWithImage:/* symbol image */];
symbol.size = CGSizeMake(width, height);
}
return symbol;
}
如果您希望每个点都有一个符号,请设置plotSymbol
属性,而不是实现此数据源方法。