如何删除核心图表周围的边框

时间:2010-02-03 18:17:48

标签: iphone core-plot

我正试图删除iPhone上核心情节图周围的边框 - 但似乎在我脑子里想要简单的事情上苦苦挣扎。

请指示!

7 个答案:

答案 0 :(得分:78)

你应该能够在图形的plotArea上取出borderLineStyle来删除边框:

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

您也可以创建自己的主题,使用框架中的主题作为示例,而不是设置borderLineStyle。

答案 1 :(得分:8)

这些答案都不适合我。这完成了这项工作:

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

答案 2 :(得分:4)

好的,我发现了怎么做 - 非常简单!

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

graph.plotArea.borderLineStyle = borderLineStyle;

其中graph是你的图形对象 - 我首先有边框的原因是因为我使用了CPPlainWhiteTheme。

希望这有助于其他人 - 有更好的方法吗?

答案 3 :(得分:1)

您可以将任何线条样式设置为nil。这将导致根本不绘制线条。

答案 4 :(得分:1)

在CorePlot 1.0中,CPTGraph的结构略有变化。假设graph类型为GPTGraph或子类为CPTGraph,删除图表边框线的代码为

graph.plotAreaFrame.borderLineStyle = nil;

答案 5 :(得分:1)

applyTheme:

后borderLineStyle = nil的正确方法
CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:hostView.bounds];

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

答案 6 :(得分:1)

如果像我一样,您希望不仅删除边框线,而是制作占据整个托管视图的情节,answerThomas 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;