основные метки линии данных - PullRequest
1 голос
/ 09 марта 2010

Я создал CPScatterPlot с использованием Core Plot и на графике несколько линий:

  for(int i=0; i<nLines; ++i){
  CPScatterPlot *xSquaredPlot = [[[CPScatterPlot alloc] initWithFrame:graph.frame] autorelease];
  xSquaredPlot.identifier = [NSString stringWithFormat:@"%d",i];
  xSquaredPlot.dataLineStyle.lineWidth = 1.0f;
  xSquaredPlot.name = @"dd";

  if(i==0)
   xSquaredPlot.dataLineStyle.lineColor = [CPColor redColor];
  else if (i ==1)
   xSquaredPlot.dataLineStyle.lineColor = [CPColor blueColor];
  else 
   xSquaredPlot.dataLineStyle.lineColor = [CPColor greenColor];

  xSquaredPlot.dataSource = self;
  [graph addPlot:xSquaredPlot];

  CPPlotSymbol *greenCirclePlotSymbol = [CPPlotSymbol ellipsePlotSymbol];
  if(i==0)
   greenCirclePlotSymbol.fill = [CPFill fillWithColor:[CPColor blueColor]];
  else if (i ==1)
   greenCirclePlotSymbol.fill = [CPFill fillWithColor:[CPColor greenColor]];
  else 
   greenCirclePlotSymbol.fill = [CPFill fillWithColor:[CPColor redColor]];

  greenCirclePlotSymbol.size = CGSizeMake(2.0, 2.0);

  xSquaredPlot.plotSymbol = greenCirclePlotSymbol;
 }

Линии выглядят великолепно, но я не могу найти способ обозначить каждую строку своим заголовком или предоставить легенду.

Есть идеи по этому поводу?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 08 августа 2011

Обновление: 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 / Источник / примеры / CorePlotGallery / src / plots / SimpleScatterPlot.m.

0 голосов
/ 10 марта 2010

Легенды еще не были реализованы в Базовом сюжете. Вы можете внести свой вклад в их реализацию в рамках.

В то же время вы можете создать пользовательский UIView с UILabels и цветными линиями, которые будут выступать в качестве легенды для графа, а затем добавить его в качестве родственного элемента на график (не подпредставление, или он не будет отображаться должным образом) закажите это, чтобы показать над графиком.

...