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

StackOverflow https://stackoverflow.com/questions/2194290

  •  25-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Вы должны быть в состоянии уничтожить пограничный стиль на графике PlotaRea для удаления границы:

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

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

Другие советы

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

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

Хорошо, я узнал, как это сделать - совсем просто!

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

graph.plotArea.borderLineStyle = borderLineStyle;

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

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

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

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

graph.plotAreaFrame.borderLineStyle = nil;

Правильный путь с пограничным стилем = ноль после применения:

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

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

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

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

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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top