Core Plot generating a flat line, X or Y range incorrect?

I am using core plot to plot about 2000 data points. They load fine, but I only see a smooth line:

I am not sure why it is just a flat line rather than showing a graph of all of my values which are in a large range. Have I done something wrong with setting up the plot space?

CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.allowsUserInteraction = NO;
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(0.0) length:CPDecimalFromFloat(num_points)];
plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(0.0) length:CPDecimalFromFloat(num_points)];

Here is my numberForPlot method as well:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{
    NSNumber *num = [sortedArray objectAtIndex:index];
    return num;
}

Any ideas what I am doing wrong here?

Answers


There are a couple of different issues here:

  1. The plot space ranges are given in data coordinates. You can either calculate the ranges yourself or use the plot space method -scaleToFitPlots: to calculate them automatically. See my answer to your related question on the Core Plot discussion board for how to calculate the ranges manually.

  2. Your -numberForPlot:field:recordIndex: ignores the field parameter. You're returning the same value for both CPScatterPlotFieldX and CPScatterPlotFieldY, hence the diagonal line.

One possible solution:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{
    NSNumber *num = nil;

    switch ( fieldEnum ) {
    case CPScatterPlotFieldX:
        num = [NSNumber numberWithUnsignedInteger:index];
        break;
    case CPScatterPlotFieldY:
        num = [sortedArray objectAtIndex:index];
        break;
    }

    return num;
}

Eric


Need Your Help

Find absolute paths to folder contents

osx applescript filepath

Another newbie applescript question. I'm trying to get absolute paths to all of the folders and files inside of a folder upon opening it. I'd like to write something like

Width Dynamic div container

javascript html css xhtml

im in the process of building a slider and i have a problem with the styling ,