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 回答