0

我正在使用 Core Plot 随时间绘制图表,当前将 x 轴的 labelingPolicy 设置为CPTAxisLabelingPolicyAutomatic. 但是,我想使用右下角来绘制图像。所以我需要防止情节在该区域绘制标签。我考虑过使用 labelExclusionRanges,但这需要从物理大小映射到时间值范围。有没有更简单的方法来实现我的目标?

尝试将 Eric 的答案翻译成代码给我一个图像,但它现在放置在 x 轴旁边,而我真的希望它在 x 轴标签的右侧。它也部分脱离了图表的主机视图......

[更新:需要设置 layer.frame 才能真正看到图像。]

- (void)annotateXAxisOfGraph:(CPTGraph *)graph withImage:(CPTImage *)image
{
    CPTBorderedLayer *layer = [[[CPTBorderedLayer alloc] init] autorelease];
    layer.fill = [CPTFill fillWithImage:image];
    layer.frame = CGRectMake(0.0f, 0.0f, 40.0f, 40.0f);
    CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
    CPTLayerAnnotation *layerAnnotation = [[[CPTLayerAnnotation alloc] initWithAnchorLayer:axisSet.xAxis] autorelease];
    layerAnnotation.contentLayer = layer;
    layerAnnotation.rectAnchor = CPTRectAnchorBottomRight;
    [graph addAnnotation:layerAnnotation];
}
4

1 回答 1

0

制作 aCPTBorderedLayer并使用您的图像制作其fill. 将此图层用作图层注释的内容图层,并将注释附加到图形的所需位置。

于 2013-04-16T23:18:12.970 回答