Подтвердить что ты не робот

Как удалить границу вокруг графика основного графика

Я пытаюсь удалить границу вокруг графика основного графика на iPhone - но, похоже, борется за то, что должно быть просто в моей голове.

Указатели, пожалуйста!

4b9b3361

Ответ 1

Вы должны иметь возможность отключить borderLineStyle на графике plotArea, чтобы удалить границу:

graph.plotAreaFrame.borderLineStyle = nil;    // don't draw a border

Вы также можете создать свою собственную тему, используя те, что в структуре, в качестве примеров, и просто не устанавливаете в ней borderLineStyle.

Ответ 2

Ни один из ответов не работал у меня. Это сделало работу:

graph.paddingLeft = 0;
graph.paddingRight = 0;
graph.paddingTop = 0;
graph.paddingBottom = 0;
graph.plotAreaFrame.borderWidth = 0;
graph.plotAreaFrame.cornerRadius = 0;

Ответ 3

OK Я узнал, как это сделать - довольно просто!

CPLineStyle *borderLineStyle = [CPLineStyle lineStyle];
borderLineStyle.lineColor = [CPColor whiteColor];
borderLineStyle.lineWidth = 1.0;

graph.plotArea.borderLineStyle = borderLineStyle;

где граф - ваш объект графика - причина, по которой у меня была граница, в первую очередь заключалась в том, что я использовал CPPlainWhiteTheme.

Надеюсь, что это поможет другим - есть ли лучший способ?

Ответ 4

Вы можете установить любой стиль линии nil. Это приведет к тому, что линия не будет нарисована вообще.

Ответ 5

В CorePlot 1.0 структура CPTGraph немного изменилась. Код для удаления граничной границы графика, предполагая, что graph имеет тип GPTGraph или подкласс CPTGraph, является

graph.plotAreaFrame.borderLineStyle = nil;

Ответ 6

Правильный путь с borderLineStyle = nil после applyTheme:

CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:hostView.bounds];

// Set padding for plot area
[graph applyTheme:[CPTTheme themeNamed:kCPTPlainWhiteTheme]];
graph.plotAreaFrame.borderLineStyle = nil;

Ответ 7

Если, как и я, вы хотите не просто удалить границу, но и сделать сюжет, который занимает весь хостинг, от Thomas Johannesmeyer вернул меня на правильный путь.

Вот что я сделал:

CPTGraphHostingView* hostingView = [[CPTGraphHostingView alloc] initWithFrame: frame];
CGRect bounds = hostingView.bounds;

CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:bounds];
hostingView.hostedGraph     = graph;

graph.paddingTop    = CPTFloat(0.0);
graph.paddingRight  = CPTFloat(0.0);
graph.paddingBottom = CPTFloat(0.0);
graph.paddingLeft   = CPTFloat(0.0);

graph.plotAreaFrame.paddingTop    = CPTFloat(0.0);
graph.plotAreaFrame.paddingRight  = CPTFloat(0.0);
graph.plotAreaFrame.paddingBottom = CPTFloat(0.0);
graph.plotAreaFrame.paddingLeft   = CPTFloat(0.0);
graph.plotAreaFrame.masksToBorder = NO;

CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
CPTXYAxis *x          = axisSet.xAxis;
x.labelingPolicy      = CPTAxisLabelingPolicyNone;
x.title = nil;
CPTXYAxis *y          = axisSet.yAxis;
y.labelingPolicy      = CPTAxisLabelingPolicyNone;
y.title = nil;