我现在第一次使用CorePlot用于图表。我的图表显示正常。一切都好了。我正在搜索,但我找不到这个问题的答案:如何用绘图点在我的图表上标记最大和最小点,以及如何在该点之上或之下显示该值?我不想展示每一点的价值。我已经看到一些评论使用它:
-(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index
但如何使用那个东西?
编辑:我已使用CPTPlotSymbol
添加了绘图点。问题是,我想仅为两个值添加CPTPlotSymbol
。怎么做?
答案 0 :(得分:2)
在准备情节时,查找并存储最小/最大点的指数:
NSUInteger indexOfMin = ...
NSUInteger indexOfMax = ...
然后在-dataLabelForPlot:recordIndex:
:
-(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index {
if (plot.identifier == yourPlotID) // optional if you only have one plot
{
if (index == indexOfMin)
{
return [[CPTTextLayer alloc] initWithText:@"Your Min Label"];
}
else if (index == indexOfMax)
{
return [[CPTTextLayer alloc] initWithText:@"Your Max Label"];
}
}
return nil;
}
答案 1 :(得分:1)
您可以在散点图上的每个点上绘制不同的绘图符号。实现-symbolForScatterPlot:recordIndex:
数据源方法并为每个数据索引返回适当的符号。如果您不想在该索引处使用符号,请返回[NSNull null]
。返回nil
以使用该索引处的情节plotSymbol
。