我只是浏览课程一小时而且无法找到它!我开始搜索AAPLot项目的例子。
我稍微更改了图表,并期望找到CPTTradingRangePlot类中的所有设置,但它不存在。
我可以更改很多属性,但我无法在任何类中找到背景设置。
任何人都可以给我一个提示吗?
// OHLC plot
CPTMutableLineStyle *whiteLineStyle = [CPTMutableLineStyle lineStyle];
whiteLineStyle.lineColor = [CPTColor whiteColor];
whiteLineStyle.lineWidth = 1.0f;
CPTTradingRangePlot *ohlcPlot = [[[CPTTradingRangePlot alloc] initWithFrame:graph.bounds] autorelease];
ohlcPlot.identifier = @"OHLC";
ohlcPlot.lineStyle = whiteLineStyle;
ohlcPlot.barWidth = 4.0f;
ohlcPlot.increaseFill = [(CPTFill *)[CPTFill alloc] initWithColor:[CPTColor greenColor]];
ohlcPlot.decreaseFill = [(CPTFill *)[CPTFill alloc] initWithColor:[CPTColor redColor]];
CPTMutableTextStyle *whiteTextStyle = [CPTMutableTextStyle textStyle];
whiteTextStyle.color = [CPTColor whiteColor];
whiteTextStyle.fontSize = 12.0;
ohlcPlot.labelTextStyle = whiteTextStyle;
ohlcPlot.labelOffset = 5.0;
ohlcPlot.stickLength = 2.0f;
ohlcPlot.dataSource = self;
ohlcPlot.plotStyle = CPTTradingRangePlotStyleCandleStick;
[graph addPlot:ohlcPlot];
答案 0 :(得分:14)
这是一个非常简单的例子。这样:
CPTColor *your_color = [CPTColor colorWithComponentRed:1 green:0 blue:0 alpha:1];
your_graph.fill = [CPTFill fillWithColor:your_color];
会将图表的背景变为红色。但正如Eric Skroch所说,你可能想要这样做......
your_graph.plotAreaFrame.fill = [CPTFill fillWithColor:your_color];
和/或这......
your_graph.plotAreaFrame.plotArea.fill = [CPTFill fillWithColor:your_color];
取决于您想要达到的结果。
答案 1 :(得分:2)
核心图中的背景是使用类似于代码示例中的CPTFill
和increaseFill
的{{1}}个对象设置的。根据您要实现的外观,您需要在decreaseFill
,graph
和/或graph.plotAreaFrame
上设置填充。 Mac版CPTTestApp中的轴演示使用所有三个区域的填充,以便您可以看到不同的部分。
答案 2 :(得分:1)
您可以使用CPTColor在xAxis或yAxis中设置它。
axisSet.yAxis.alternatingBandFills = [NSArray arrayWithObjects:[CPTColor redColor], [CPTColor whiteColor],[CPTColor purpleColor],nil];
答案 3 :(得分:0)
我终于自己找到了它。图表的背景由主题管理。核心图库的文件夹主题中有几个主题文件,其中一个是CPTStocksTheme。 CPTStocksTheme创建一个蓝色渐变背景,可以在那里更改。