我怎样才能画垂直线?

How can I draw vertical lines?

如何为每个日期画一条垂直线

y 轴很好,但为什么 x 轴不行?

x 轴代码:

CPTMutableLineStyle *majorGridLineStyle = [CPTMutableLineStyle lineStyle];
majorGridLineStyle.lineWidth = 2;
majorGridLineStyle.lineColor = [CPTColor redColor];

CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;

CPTXYAxis *x = [axisSet xAxis];
x.axisLineStyle = nil;
x.majorTickLineStyle = majorGridLineStyle;

[x setLabelingPolicy:CPTAxisLabelingPolicyNone];
x.majorGridLineStyle = majorGridLineStyle;

NSArray *subjectsArray = [self getSubjectTitlesAsArray];
[x setAxisLabels:[NSSet setWithArray:subjectsArray]];

y 轴代码:

CPTXYAxis *y = axisSet.yAxis;
y.axisLineStyle = nil;
y.majorTickLineStyle = nil;
y.minorTickLineStyle = nil;
y.majorIntervalLength = CPTDecimalFromString(@"500");
y.orthogonalCoordinateDecimal = CPTDecimalFromString(@"0");

y.majorGridLineStyle = gridLineStyle;

我的错误是什么?

Core Plot 将在主要刻度位置绘制网格线。确保日期值与刻度位置相对应,并且 gridLineStyle 是一种将在白色背景下显示的样式。

谢谢埃里克!

当然,还有一些更优雅的编码方式,但我是这样解决的:

    NSMutableSet *xMajorLocations = [NSMutableSet set];
[xMajorLocations addObject:[NSNumber numberWithFloat:0.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:1.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:2.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:3.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:4.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:5.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:6.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:7.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:8.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:9.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:10.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:11.0f]];
[xMajorLocations addObject:[NSNumber numberWithFloat:12.0f]];

x.majorTickLocations = xMajorLocations;