如何去除核心图上边界的边界

问题描述:

我试图去除iPhone上核心图上边界的边界 - 但似乎在思考什么应该是简单的问题上挣扎。如何去除核心图上边界的边界

请指点!

+0

我很抱歉,如果这是一个明显的问题,但什么是核心绘图表? – 2010-02-03 19:09:57

+0

Core Plot是一个用于在Mac和iPhone上绘图的库: http://code.google.com/p/core-plot/ – Grouchal 2010-02-03 21:31:28

+1

这看起来非常有用。谢谢。 – 2010-02-03 21:38:09

你应该能够零出在图表上的plotArea的borderLineStyle删除边框:

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

你也可以创建自己的主题,在框架的例子使用的手机,根本没有设置在那边的borderLineStyle。

+27

如果您使用的是内置主题,请确保在applyTheme调用后设置borderLineStyle,否则它将被覆盖。 – 2013-02-20 10:45:28

+2

这个评论是金的!谢谢!我有一些测试代码,只是通过按钮切换主题。所以一切都被覆盖! – 2013-02-21 02:31:48

+0

只是添加到布拉德的答案。请在应用主题后添加答案中提到的行。如果你在之前添加它,那么它将无法工作。 – 2014-11-25 14:22:25

好的,我发现怎么做 - 真的很简单!

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

graph.plotArea.borderLineStyle = borderLineStyle; 

其中图是你的图形对象 - 我曾在首位边框的原因是因为我用CPPlainWhiteTheme。

希望这可以帮助别人 - 有没有更好的方法?

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

在CorePlot 1.0中,CPTGraph的结构略有变化。去除图形的边界线,假设是GPTGraph型或CPTGraph一个子类,代码

graph.plotAreaFrame.borderLineStyle = nil; 

无问题的答案为我工作。该做的工作:

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

applyTheme与borderLineStyle =零正确的方法后:

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

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

如果像我一样,你正在寻找不只是删除边框线,但做图这占据了整个托管视图,来自Thomas Johannesmeyeranswer让我走上了正确的轨道。

这里就是我所做的:

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;