मैं एक ऐप प्रोग्रामिंग कर रहा हूं जहां मेरे पास दो वाई अक्ष और एक एक्स अक्ष के साथ ग्राफ है। बाएं वाई धुरी 0 से 20 तक है इसलिए 20 प्रमुख टिक अक्ष हैं। राइट वाई धुरी 0 से 10 तक है, इसलिए मैं बाएं वाई अक्ष को प्रत्येक वैकल्पिक प्रमुख TickAxis के लिए लेबल करना चाहता हूं।विभिन्न अक्ष स्केल के साथ कोर प्लॉट ग्राफ़ में दो वाई अक्ष
यहाँ मेरी कोड स्निपेट
//code
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace;
float xmax=10.0;
float xmin=0.0;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xmin) length:CPTDecimalFromFloat(xmax-xmin)];
float ymax=20.0;
float ymin=0.0;
float ymax2=10.0;
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(ymin) length:CPTDecimalFromFloat(ymax-ymin)];
// Grid line styles
CPTMutableLineStyle *majorGridLineStyle = [CPTMutableLineStyle lineStyle];
majorGridLineStyle.lineWidth = 0.75;
majorGridLineStyle.lineColor = [[CPTColor whiteColor] colorWithAlphaComponent:0.75];
CPTMutableLineStyle *minorGridLineStyle = [CPTMutableLineStyle lineStyle];
minorGridLineStyle.lineWidth = 0.25;
minorGridLineStyle.lineColor = [[CPTColor whiteColor] colorWithAlphaComponent:0.1];
CPTMutableLineStyle *redLineStyle = [CPTMutableLineStyle lineStyle];
redLineStyle.lineWidth = 2.0;
redLineStyle.lineColor = [[CPTColor redColor] colorWithAlphaComponent:0.5];
CPTMutableLineStyle *greenLineStyle = [CPTMutableLineStyle lineStyle];
greenLineStyle.lineWidth = 2.0;
greenLineStyle.lineColor = [[CPTColor greenColor] colorWithAlphaComponent:0.5];
// Axes
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)self.graph.axisSet;
CPTXYAxis *x = axisSet.xAxis;
x.orthogonalCoordinateDecimal = CPTDecimalFromString(@"0");
x.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"1"] decimalValue];
x.minorTicksPerInterval = 4;
x.labelOffset = 3.0f;
x.title = @"Time";
x.titleOffset = 20.0;
x.titleLocation = CPTDecimalFromFloat((xmax+xmin)/2);
x.majorGridLineStyle= majorGridLineStyle;
x.minorGridLineStyle=minorGridLineStyle;
CPTXYAxis *y = axisSet.yAxis;
y.majorIntervalLength = CPTDecimalFromString(@"1.0");
y.majorTickLength=2.0f;
y.minorTicksPerInterval = 4;
y.orthogonalCoordinateDecimal = CPTDecimalFromFloat(0.0);
y.labelExclusionRanges = [NSArray arrayWithObjects:
[CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(0.0)
length:CPTDecimalFromInteger(0.0)],Nil];
y.majorGridLineStyle= majorGridLineStyle;
y.minorGridLineStyle=minorGridLineStyle;
CPTXYAxis *y2 = [[(CPTXYAxis *)[CPTXYAxis alloc] initWithFrame:CGRectZero] autorelease];
y2.plotSpace =plotSpace;
y2.orthogonalCoordinateDecimal = CPTDecimalFromFloat(xmax);
y2.majorGridLineStyle=majorGridLineStyle;
y2.minorGridLineStyle=minorGridLineStyle;
y2.minorTicksPerInterval = 4;
y2.majorIntervalLength = CPTDecimalFromString(@"1.0");
y2.labelOffset = 10.0;
y2.coordinate =CPTCoordinateY;
y2.axisLineStyle = x.axisLineStyle;
y2.labelTextStyle = x.labelTextStyle;
y2.labelOffset = -30.0f;
y2.visibleRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(0) length:CPTDecimalFromInteger(ymax2)];
y2.title = @"Temperature";
y2.titleLocation = CPTDecimalFromInteger(5.0);
y2.titleTextStyle =x.titleTextStyle;
y2.titleOffset =-45.0f;
y2.labelExclusionRanges = [NSArray arrayWithObjects:
[CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(0.0)
length:CPTDecimalFromInteger(0.0)],Nil];
self.graph.axisSet.axes = [NSArray arrayWithObjects:x, y, y2, nil];
// Create a plot that uses the data source method for red graph
CPTScatterPlot *redPlot = [[[CPTScatterPlot alloc] init] autorelease];
redPlot.identifier = @"red Plot";;
CPTMutableLineStyle *lineStyle = [[redPlot.dataLineStyle mutableCopy] autorelease];
lineStyle.miterLimit = 1.0f;
redPlot.dataLineStyle = redLineStyle;
redPlot.dataSource = self;
redPlot.interpolation = CPTScatterPlotInterpolationStepped;
[self.graph addPlot:redPlot];
// Create a plot that uses the data source method for green graph
CPTScatterPlot *greenPlot = [[[CPTScatterPlot alloc] init] autorelease];
greenPlot.identifier = @"green Plot";;
CPTMutableLineStyle *greenlineStyle = [[greenPlot.dataLineStyle mutableCopy] autorelease];
greenlineStyle.miterLimit = 1.0f;
greenPlot.dataLineStyle = greenLineStyle;
greenPlot.dataSource = self;
[self.graph addPlot:greenPlot];
// Add some data
NSMutableArray *newData = [NSMutableArray arrayWithCapacity:100];
NSUInteger i;
for (i = 0; i < 45; i++) {
id x = [NSNumber numberWithDouble:i * 0.2];
id y = [NSNumber numberWithDouble:i * rand()/((double)RAND_MAX*5.0) ];
[newData addObject:[NSDictionary dictionaryWithObjectsAndKeys:
x, @"x",y, @"y",nil]];
}
NSMutableArray *newData1 = [NSMutableArray arrayWithCapacity:100];
for (i = 0; i < 45; i++) {
id x =[NSNumber numberWithDouble:i * rand()/((double)RAND_MAX*5.0) ];
id y2 = [NSNumber numberWithDouble:i * 0.2];
[newData1 addObject:[NSDictionary dictionaryWithObjectsAndKeys:
x, @"x",y2, @"y2",nil]];
}
self.plotData = newData;
self.plotData2=newData1;
सेट 'labelExclusionRanges' यदि आपको इसकी आवश्यकता नहीं है तो 'शून्य 'तक। –