在更改绘图空间范围之前不显示数据标签(在图表上拖动)

时间:2011-11-08 23:49:58

标签: ipad core-plot

我实现了一个使用散点图的iPad应用程序(library:coreplot 0.9) 绘图数据本身显示正确,但绘图点的标签最初不显示 拖动绘图空间后,标签会按预期显示 当我向图表动态添加第二个图表(点击一个特殊按钮)时,会显示第一个图表的标签,而不会显示第二个图表的标签。

经过很长一段时间努力让它发挥作用并进行大量的网络搜索我非常喜欢这里,非常感谢有关该主题的任何想法。
在下面的代码示例中,我创建了自己的绘图空间。对于图表的默认绘图空间中的绘图,问题是相同的。

…

graph = [[CPTXYGraph alloc] initWithFrame:CGRectZero];
myPlotView.hostedGraph = graph;
[graph release];

…

myPlot = [[CPTScatterPlot alloc] init];

CPTMutableLineStyle *lineStyle = [[myPlot.dataLineStyle mutableCopy] autorelease];
lineStyle.lineWidth = 3.f;
lineStyle.lineColor = [CPTColor greenColor];
myPlot.dataLineStyle = lineStyle;
myPlot.dataSource = self;
myPlot.plotSymbol = [CPTPlotSymbol ellipsePlotSymbol];
[myGraph addPlot:myPlot];
[myPlot release];

CPTMutableTextStyle *whiteTextStyle = [CPTMutableTextStyle textStyle];
whiteTextStyle.color = [CPTColor whiteColor];
myPlot.labelTextStyle = whiteTextStyle;
myPlot.labelOffset = -10.0;

myOwnPlotSpace = [[CPTXYPlotSpace alloc]init];
[myGraph addPlotSpace:myOwnPlotSpace];
myPlot.plotSpace = myOwnPlotSpace;
[myOwnPlotSpace release];
myOwnPlotSpace.delegate = self;
myOwnPlotSpace.allowsUserInteraction = YES;
myOwnPlotSpace.xRange = ((CPTXYPlotSpace *)(myGraph.defaultPlotSpace)).xRange;            

…

这些截图显示了这种情况(因为我是Stack Overflow的新手,我还不允许发布图片):

情节的初始显示(标签未显示):
http://gallery.me.com/timoseeberger#100038/screenshot_graph_before&bgcolor=black

拖动后显示绘图(立即显示标签):
http://gallery.me.com/timoseeberger#100038/screenshot_graph_after&bgcolor=black

2 个答案:

答案 0 :(得分:1)

您的问题似乎与已知的Core Plot问题有关。有关详细信息和修复时的通知,请参阅the Core Plot issue tracker

答案 1 :(得分:0)

我有一个类似的问题(标签首先出现在错误的位置,然后移动到正确的位置),并发现在我的情况下设置主机视图上的collapsesLayers = NO可以解决问题。