在哪里设置背景颜色?

时间:2011-08-24 17:07:54

标签: iphone objective-c ios core-plot candlestick-chart

我只是浏览课程一小时而且无法找到它!我开始搜索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];

4 个答案:

答案 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)

核心图中的背景是使用类似于代码示例中的CPTFillincreaseFill的{​​{1}}个对象设置的。根据您要实现的外观,您需要在decreaseFillgraph和/或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创建一个蓝色渐变背景,可以在那里更改。