Я почти закончил с графиком основного графика, над которым я работал уже пару дней. Есть что-то, что я все еще не могу сделать (и я не могу найти документацию по этому вопросу), - это изменить метки оси x на то, что мне нужно. Сегодня у меня есть ось x с целочисленной меткой, отображаемой каждые 5 значений: «5 10 15 ...», мне нужно иметь метки, соответствующие последним 24 часам. Например, если это 15:00, мне нужны такие метки, как: «15 16 17 ... 23 0 1 2 .. 15« Я думал об использовании NSArray для этого и передал его в plotSpace.xRange, но я не знаете, если это хороший способ сделать это. Вот мой код:iphone, используя массив для определения в диапазоне основного участка
CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-15)
length:CPDecimalFromFloat(xmax + 15)];
plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-1000)
length:CPDecimalFromFloat(4300)];
// Setup axis
CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;
CPLineStyle *lineStyle = [CPLineStyle lineStyle];
lineStyle.lineColor = [CPColor whiteColor];
lineStyle.lineWidth = 1.0f;
CPTextStyle *cyanStyle = [CPTextStyle textStyle];
cyanStyle.color = [CPColor cyanColor];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:0];
axisSet.xAxis.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"5"] decimalValue];
axisSet.xAxis.minorTicksPerInterval = 0;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.majorTickLength = 5.0f;
axisSet.xAxis.labelOffset = 3.0f;
axisSet.xAxis.labelExclusionRanges = [NSArray arrayWithObjects:
[CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-15)
length:CPDecimalFromFloat(15)],
nil];
axisSet.xAxis.visibleRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromInteger(0) length:CPDecimalFromInteger(xmax)];
axisSet.xAxis.labelFormatter = formatter;
axisSet.xAxis.title = @"Hour";
axisSet.xAxis.titleOffset = 25.0f;
axisSet.xAxis.titleLocation = CPDecimalFromFloat(25.0f);
axisSet.xAxis.titleTextStyle = cyanStyle;
Любая помощь будет действительно приветствовать :) Большое спасибо, Люк