CorePlot LineGraph - hover/ click on graph to see values - macOS

Viewed 143

I am using CorePlot to plot a simple Line Graph in my macOS app.

CPTXYGraph *newGraph = [[CPTXYGraph alloc] initWithFrame:CGRectZero];

CPTTheme *theme      = [CPTTheme themeNamed:kCPTDarkGradientTheme];
[newGraph applyTheme:theme];
self.graph = newGraph;
self.hostView.hostedGraph = newGraph;

newGraph.plotAreaFrame.paddingTop   = 10.0;
newGraph.plotAreaFrame.paddingBottom   = 30.0;
newGraph.plotAreaFrame.paddingLeft   = 40.0;
newGraph.plotAreaFrame.paddingRight  = 10.0;

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)newGraph.defaultPlotSpace;
    plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:@(1.0) length:[NSNumber numberWithUnsignedInteger:[dataArray count]-1]];
    plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:@0.0 length:@102.0];
    plotSpace.allowsUserInteraction = YES;

CPTXYAxisSet *axisSet = (CPTXYAxisSet *)newGraph.axisSet;
    CPTXYAxis *x          = axisSet.xAxis;
    //x.majorIntervalLength   = @1;
    x.majorIntervalLength   = [NSNumber numberWithInt:numberOfIntervalsX];
    x.orthogonalPosition    = @(0);
    x.minorTicksPerInterval = 0;
    x.labelOffset  = 0;

    CPTXYAxis *y = axisSet.yAxis;
    y.majorIntervalLength   = @5;
    y.minorTicksPerInterval = 0;
    y.orthogonalPosition    = @(1.0);
    y.labelOffset  = 0.0;

CPTScatterPlot *dataSourceLinePlot = [[CPTScatterPlot alloc] init];
    CPTMutableLineStyle *lineStyle = [dataSourceLinePlot.dataLineStyle mutableCopy];
    lineStyle.lineWidth              = 2.;
    lineStyle.lineColor              = [CPTColor greenColor];
    dataSourceLinePlot.dataLineStyle = lineStyle;


    dataSourceLinePlot.dataSource = self;
    [newGraph addPlot:dataSourceLinePlot];

I was expecting that the hover/ click to see values would be a default behavior but looks it is not. I have tried searching the forums but no luck. I am assuming it would be really straight forward. Not sure if I am missing something.

1 Answers
Related