2

我是核心情节的新手。

我有的 ?

1)Y 轴的主要间隔为 50。范围(0 - 300)所以我的 y 轴从 0、50、100 ... 300 开始。足够公平。

2) 绘制主网格线。

CPTMutableLineStyle *yGridLineStyle = [[CPTMutableLineStyle alloc] init];
yGridLineStyle.lineColor = [CPTColor whiteColor];
yGridLineStyle.lineWidth = 0.5;
y.majorGridLineStyle = yGridLineStyle;

网格线以白色显示。

我需要的?

1)我希望在图表的背景上显示 3 种不同的颜色。

2) 从 0 到 65 -> 红色。

3) 从 65 - 88 -> 蓝色。

4) 88 以上 -> 绿色。

我怎样才能达到同样的效果?..请指教。

我试过什么?

我尝试使用y 轴的alterBandFills。例子:

y.alternatingBandFills = [NSArray arrayWithObjects:[CPTColor redColor], [CPTColor greenColor], nil];

但它仅根据主要间隔填充。我无法具体提及它必须从范围开始的哪个小区间。

4

1 回答 1

4

Core Plot 将这些称为“限制带”。

CPTPlotRange *bandRange;
CPTFill *bandFill;

// red
bandRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(0.0)
                                         length:CPTDecimalFromDouble(65.0)];
bandFill = [CPTFill fillWithColor:[CPTColor redColor]];
[y addBackgroundLimitBand:[CPTLimitBand limitBandWithRange:bandRange
                                                      fill:bandFill]];

// blue
bandRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(65.0)
                                         length:CPTDecimalFromDouble(23.0)];
bandFill = [CPTFill fillWithColor:[CPTColor blueColor]];
[y addBackgroundLimitBand:[CPTLimitBand limitBandWithRange:bandRange
                                                      fill:bandFill]];

// green
bandRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(88.0)
                                         length:CPTDecimalFromDouble(212.0)];
bandFill = [CPTFill fillWithColor:[CPTColor greenColor]];
[y addBackgroundLimitBand:[CPTLimitBand limitBandWithRange:bandRange
                                                      fill:bandFill]];
于 2012-12-12T00:36:51.660 回答