Можем ли мы показать линии сетки на базовом значении или на конце каждого столбца на гистограмме, используя базовый график?

Можем ли мы показать линии сетки на базовом значении или конце каждого столбца на гистограмме, используя coreplot (iOS).

Если есть какой-либо подход к этому, предложите мне.

введите здесь описание изображения


person Monish Kumar    schedule 21.10.2013    source источник
comment
Можете ли вы показать макет, как, по вашему мнению, это должно выглядеть?   -  person Mike Lischke    schedule 21.10.2013
comment
@MikeLischke: Проверьте макет, который я добавил.   -  person Monish Kumar    schedule 21.10.2013


Ответы (1)


Это не линии сетки, поскольку это не сетка, но вы можете добавить дополнительные оси Y для каждой вертикальной линии, которую хотите показать. Я использую этот принцип, чтобы показать линию индикатора в позиции мыши. Код:

CPTXYAxis *y = axisSet.yAxis;
... some other setup

// The second y axis is used as the current location identifier.
indicatorLine = [[CPTXYAxis alloc] init];
indicatorLine.hidden = YES;
indicatorLine.coordinate = CPTCoordinateY;
indicatorLine.plotSpace = graph.defaultPlotSpace;
indicatorLine.labelingPolicy = CPTAxisLabelingPolicyNone;
indicatorLine.separateLayers = NO;
indicatorLine.preferredNumberOfMajorTicks = 0;
indicatorLine.minorTicksPerInterval = 0;

CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle];
lineStyle.lineWidth = 1;
lineStyle.lineColor = [CPTColor colorWithGenericGray: 64 / 255.0];
lineStyle.lineCap = kCGLineCapRound;
lineStyle.dashPattern = lineStyle.dashPattern = @[@10.0f, @5.0f];
indicatorLine.axisLineStyle = lineStyle;
indicatorLine.majorTickLineStyle = nil;

axisSet.axes = @[x, y, indicatorLine];

Вы можете добавить столько, сколько хотите. Установите их положение (в пространстве координат данных, то есть ваши значения данных x) с помощью

indicatorLine.orthogonalCoordinateDecimal = CPTDecimalFromFloat(index);

Индекс здесь является точкой x-данных, но может также включать промежуточные позиции.

person Mike Lischke    schedule 21.10.2013