0

coreplot(iOS) を使用して、棒グラフの各バーのベース値または先端にグリッド線を表示できますか。

これを行うためのアプローチがあれば、私に提案してください。

ここに画像の説明を入力

4

1 に答える 1

0

これはグリッドではないため、グリッド ラインではありませんが、表示する垂直線ごとに追加の 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 データ ポイントですが、中間位置を含めることもできます。

于 2013-10-21T13:06:09.000 に答える