我在核心情节框架(适用于iOS)中的饼图传奇方面存在问题。 我在图表(CPTXYGraph)对象中添加了两个图:
CPTPieChart *piePlot = [[CPTPieChart alloc] init];
piePlot.dataSource = self;
piePlot.pieRadius = 60.0;
piePlot.identifier = @"After";
piePlot.startAngle = M_PI_4;
piePlot.sliceDirection = CPTPieDirectionCounterClockwise;
piePlot.centerAnchor = CGPointMake(0.7, 0.67);
piePlot.borderLineStyle = [CPTLineStyle lineStyle];
piePlot.delegate = self;
[pieChart addPlot:piePlot];
[piePlot release];
CPTPieChart *piePlotSecond = [[CPTPieChart alloc] init];
piePlotSecond.dataSource = self;
piePlotSecond.pieRadius = 60.0;
piePlotSecond.identifier = @"Before";
piePlotSecond.startAngle = M_PI_4;
piePlotSecond.sliceDirection = CPTPieDirectionCounterClockwise;
piePlotSecond.centerAnchor = CGPointMake(0.27, 0.67);
piePlotSecond.borderLineStyle = [CPTLineStyle lineStyle];
piePlotSecond.delegate = self;
[pieChart addPlot:piePlotSecond];
[piePlotSecond release];
到目前为止这个工作正常,这里有传说:
CPTMutableTextStyle *legendTextStyle = [CPTTextStyle textStyle];
legendTextStyle.fontSize = 10.0f;
legendTextStyle.color = [CPTColor whiteColor];
CPTLegend *theLegend = [CPTLegend legendWithPlots:[NSArray arrayWithObject:[pieChart plotAtIndex:0]]];
theLegend.numberOfColumns = 2;
theLegend.textStyle = legendTextStyle;
theLegend.fill = [CPTFill fillWithColor:[CPTColor blackColor]];
theLegend.borderLineStyle = [CPTLineStyle lineStyle];
theLegend.cornerRadius = 5.0;
pieChart.legend = theLegend;
pieChart.legendAnchor = CPTRectAnchorRight;
pieChart.legendDisplacement = CGPointMake(-33.0, -90.0);
这根本不会每次出现。含义:在模拟器上它几乎完全没问题,但在设备上它只出现在第3或第4次。此外,它给了我以下警告信息:
..-并[d<边界:{{0,0},{8.58993e + 09,125}}>对于情节( “< bounds:{{0,0},{320,367}}>” )>显示]:忽略虚假图层大小(8589934592.000000,125.000000)
图形托管视图位于uiscrollview对象中,另一个图表(条形图)完美运行。此外,我没有注意到只有一个饼图这个问题(但这并不意味着它不存在)。但不幸的是,我需要在同一视图中使用两个饼图,彼此接近。仅使用一个图例,因为它们具有相同的字段,只有不同的值。
我做错了什么,或者这可能是某种错误?有办法解决吗?遗憾地用一些图像替换图例不是解决方案,因为名称是动态的。
答案 0 :(得分:0)
我从核心情节的可用源代码编译了自己的新版本,似乎问题已经消失。
我现在正在玩图表15分钟,而且它正在发挥作用。
我猜这是0.4版本中的一个错误。