核心图:在plotAreaFrame周围的填充区域添加文本标签

时间:2014-01-04 00:07:07

标签: ios cocoa-touch core-plot

我正在创建一个条形图,然后在上面添加空格,如下所示....

CPTGraph *graph = self.hostView.hostedGraph;
graph.plotAreaFrame.paddingTop = smallPlotTopOffset; //some number like 25.0

我已经将paddingTop添加到图表本身,然后使用titleDisplacement将graph.title移动到此空间。

但是,现在我想在plotAreaFrame.paddingTop创建的空间中在标题和图形之间添加标签。这可能使用CPTTextLayers吗?我一直在尝试添加一个图层,但它们似乎受plotAreaFrame约束(即在填充内)。我想将我的标签对齐在我的graph.title下面,因此尝试使用hostView,而不是仅仅将UILabel添加到superview。

2 个答案:

答案 0 :(得分:3)

对于其他任何感兴趣的人,我按照以下方式做到了......

CPTLayerAnnotation *ann = [[CPTLayerAnnotation alloc] initWithAnchorLayer:self.hostView.hostedGraph.plotAreaFrame];
ann.rectAnchor = CPTRectAnchorTop; //to make it the top centre of the plotFrame
ann.displacement = CGPointMake(0, -20.0); //To move it down, below the title

CPTTextLayer *textLayer = [[CPTTextLayer alloc] initWithText:@"Your Text" style:nil];

ann.contentLayer = textLayer;

[self.hostView.hostedGraph.plotAreaFrame addAnnotation:ann];

我认为这是最好的方法,虽然如果我能将它锚定在主标题下方更好,而不是添加手动位移。

答案 1 :(得分:2)

使用图层注释并将其添加到图形中。