【发布时间】:2016-07-24 17:57:16
【问题描述】:
新的核心情节;我有 3 个散点图问题:
使用图库样本散点图,我对其进行了破解,添加了几个无线的图,每个图都有一个符号 - 16x16 圆圈,我按图进行颜色选择。我想在那个符号上放一个 2 个字符的文本标签(我在这里偷了其他地方):
- (nullable CPTPlotSymbol *)symbolForScatterPlot:(nonnull CPTScatterPlot *)plot recordIndex:(NSUInteger)index
{
CPTPlotSymbol * symbol = nil;
symbol = [CPTPlotSymbol ellipsePlotSymbol];
symbol.fill = [CPTFill fillWithImage:cptSymbols[index % BET_MAXIMUM]];
symbol.size = CGSizeMake(16,16);
return symbol;
}
- (CPTLayer *)dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index
{
NSString * symbolName = [cptSymbols[index % BET_MAXIMUM] substringToIndex:2];
CPTTextLayer * label = [[CPTTextLayer alloc] initWithText:symbolName];
CPTMutableTextStyle * textStyle = [label.textStyle mutableCopy];
plot.labelOffset = 0;
textStyle.color = cptColors[Random(cptColors.count)];
label.textStyle = textStyle;
[textStyle release];
return [label autorelease];
}
但是我需要将文本分层放置在符号顶部的中心;选择其颜色以与符号颜色形成对比。在它的最终形式中,标签将是由一组符号 cptSymbols[] 和颜色 cptColors[] 驱动的数据,它们构成了数据捕获选择的基础。
相对于其数据符号的标签定位可以影响哪些 CPTTextLayer 或 CPTPlotSymbol 属性?
一旦动画开始滚动,最新的散点不再有标签!?该示例通过计时器生成单个值,这可以满足我的需求 - 计时器,但每次捕获我可以有几个点。
如何在动画开始后将文本标签保留为符号?
最后,当移动、滚动、捏合/缩放时,显示屏会出现锯齿状。
可以调整这个以保持原来的平滑滚动吗?
谢谢!
【问题讨论】:
标签: macos core-plot scatter-plot