【问题标题】:How Add a legend to Core Plot in iPhone SDK?如何在 iPhone SDK 的 Core Plot 中添加图例?
【发布时间】:2011-04-21 07:13:42
【问题描述】:

如何在 Core Plot 框架中添加图例?

我非常感谢任何指导或帮助。

【问题讨论】:

    标签: iphone objective-c cocoa-touch ios4 core-plot


    【解决方案1】:

    更新:CorePlot 0.4 有 CPTLegend 类:

    _graph.legend = [CPTLegend legendWithGraph:_graph];
    _graph.legend.textStyle = x.titleTextStyle;
    _graph.legend.fill = [CPTFill fillWithColor:[CPTColor darkGrayColor]];
    _graph.legend.borderLineStyle = x.axisLineStyle;
    _graph.legend.cornerRadius = 5.0;
    _graph.legend.swatchSize = CGSizeMake(25.0, 25.0);
    _graph.legendAnchor = CPTRectAnchorBottom;
    _graph.legendDisplacement = CGPointMake(0.0, 12.0);
    

    参见 CorePlot_0.4/Source/examples/CorePlotGallery/src/plots/SimpleScatterPlot.m。

    【讨论】:

      【解决方案2】:

      目前还没有 Legend 类。有时您可以使用图像来伪造它,但它还没有出现在 Core Plot 中。 Check drewmcco Comment

      Legends 尚未在 Core Plot 中实现。非常欢迎您为框架贡献它们的实现。

      同时,您可以使用 UILabels 和彩色线条构建一个自定义 UIView 作为图形的图例,然后将其作为同级添加到图形中(不是子视图,否则将无法正确呈现)和命令它显示在图表上方。 Check Brad Larson Answer

      【讨论】:

      • 请您详细解释一下如何将视图作为同级添加到 coreplot 图
      • 不能添加图片作为图表视图的子视图吗?
      • 感谢回复,其实我是coreplot的新手,对coreplot的流程还不是很清楚。所以你能指导我更多
      • @Prera​​k:我在 coreplot 中没有做太多,但我建议一些东西; CPXYGraph* graph = [[CPXYGraph alloc] initWithFrame: frame];你不能说[graph addSubView:Image];
      • 您可以向您的图表添加一个 CPannotation,而不是向 Core Plot 图添加子层。根据您想要的注释类型,您可以将其锚定到视图(~屏幕)坐标或绘图坐标。注释使用 CPLayer(CALayer 的子类)来实际显示注释。您可以创建一个 CPLayer 并将您的图像添加为图层“内容”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多