0

我一直在寻找这个问题的答案 3 天,但无法弄清楚。

我需要在图表中添加 3 个散点图,这是我的代码:

CPTXYAxis *x = [[CPTXYAxis alloc] init];
CPTXYAxis *lefty = [[CPTXYAxis alloc] init];
CPTXYAxis *righty = [[CPTXYAxis alloc] init];

x.coordinate = CPTCoordinateX;
lefty.coordinate = CPTCoordinateY;
righty.coordinate = CPTCoordinateY;

CPTAxisSet *axisSetTmp = [[CPTAxisSet alloc] init];

用于初始化并创建 3 个不同的绘图空间,例如:

float xAxisMin = 0;
float xAxisMax = 350;
float yAxisMin = 0;
float yAxisMax = 50;

// We modify the graph's plot space to setup the axis' min / max values.
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xAxisMin) length:CPTDecimalFromFloat(xAxisMax - xAxisMin)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];
x.plotSpace = plotSpace;

最后创建我的情节,如:

CPTScatterPlot *plot = [[CPTScatterPlot alloc] init];
plot.dataSource = self;
plot.identifier = @"mainplot";
plot.dataLineStyle = lineStyle;
plot.plotSymbol = nil;
plot.plotSpace = plotSpace;

当我运行它时,添加了 3 行但我只有 1 个 y 轴。无法弄清楚问题所在。

任何帮助将不胜感激。

4

1 回答 1

1
  1. 您是否将新轴添加到图表中?

    graph.axisSet.axes = [NSArray arrayWithObjects:x, lefty, righty, nil];
    
  2. 如果所有坐标轴和绘图都具有相同的绘图范围,则可以为所有坐标轴和绘图使用相同的绘图空间。新图表以您可以使用的图表开头 ( defaultPlotSpace)。使用-addPlotSpace:方法向图形添加额外的绘图空间。

于 2012-08-15T00:25:57.143 回答