где установить цвет фона? - PullRequest
1 голос
/ 24 августа 2011

Я час просматривала уроки и не могу найти их! я начал с поиска примера проекта 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 ]

14 голосов
/ 19 декабря 2012

Вот очень простой пример.Это:

CPTColor *your_color = [CPTColor colorWithComponentRed:1 green:0 blue:0 alpha:1];
your_graph.fill = [CPTFill fillWithColor:your_color];

сделает фон вашего графика красным.Но, как сказал Эрик Скроч, вы можете захотеть сделать это ...

your_graph.plotAreaFrame.fill = [CPTFill fillWithColor:your_color];

и / или это ...

your_graph.plotAreaFrame.plotArea.fill = [CPTFill fillWithColor:your_color];

в зависимости от того, какого результата вы хотите достичь.

2 голосов
/ 25 августа 2011

Фоны в Базовом графике устанавливаются с использованием CPTFill объектов, похожих на increaseFill и decreaseFill в вашем примере кода. В зависимости от того, какого вида вы хотите добиться, вам нужно установить заливку на graph, graph.plotAreaFrame и / или graph.plotAreaFrame.plotArea. Демонстрация осей в версии CPTTestApp для Mac использует заливки во всех трех областях, чтобы вы могли видеть различные части.

1 голос
/ 20 сентября 2012

Вы можете установить его в xAxis или yAxis, используя CPTColor.

axisSet.yAxis.alternatingBandFills = [NSArray arrayWithObjects: [CPTColor redColor], [CPTColor whiteColor], [CPTColor purpleColor], ноль;*

0 голосов
/ 25 августа 2011

я наконец-то нашел это сам.фон диаграммы управляется темой.в папке theme библиотеки core-plot есть несколько файлов тем, и один из них - CPTStocksTheme.CPTStocksTheme создает синий градиентный фон, который можно изменить там.

...