2010-02-03 17 views
24

iPhone'daki çekirdek çizim grafiğindeki kenarlığı kaldırmaya çalışıyorum - ancak aklımda basit olması gerekenler üzerinde mücadele ediyor gibi görünüyor.Çekirdek-grafik grafiği çevresindeki kenarlığı nasıl kaldırılır

İşaretçiler lütfen!

+0

Bunun çok açık bir soru ise üzgünüm ama bir çekirdek arsa grafiği nedir? –

+0

Core Plot, mac üzerinde ve iphone üzerinde grafik için bir kütüphanedir: http://code.google.com/p/core-plot/ – Grouchal

+1

Bu gerçekten kullanışlı görünüyor. Teşekkür ederim. –

cevap

78

Sen grafiğin plotArea üzerinde borderLineStyle sınırını nil kaldırmak için dışarı gerekir: örnekler olarak çerçevesinde olanları kullanarak,

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

Ayrıca kendi tema oluşturmak olabilir ve sadece ayarlanmamış Bunun içinde borderLineStyle.

+27

Yerleşik bir tema kullanıyorsanız, borderLineStyle'ı applyTheme çağrısından sonra ayarladığınızdan emin olun, aksi takdirde üzerine yazılır. –

+2

Bu yorum altındır! Teşekkürler! Bazı test kodlarım vardı ve sadece bir düğmeyle temaları değiştirdim. Yani her şeyin üzerine yazılmış! –

+0

Sadece Brad'in cevabına eklemek için. Lütfen temayı uyguladıktan sonra cevapta belirtilen satırı ekleyin. Bundan önce eklerseniz o zaman işe yaramaz. –

4

Tamam, nasıl yapılacağını öğrendim - oldukça basit!

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

graph.plotArea.borderLineStyle = borderLineStyle; 

grafik, grafik nesnesidir

- Ben CPPlainWhiteTheme kullanılan çünkü ilk etapta bir sınır vardı nedeni oldu.

Bunun başkalarına yardımcı olmasını umarız - daha iyi bir yol var mı?

1

Herhangi bir çizgi stilini nil olarak ayarlayabilirsiniz. Bu, hattın hiç çizilmemesine neden olur.

1

CorePlot 1.0'da, CPTGraph'un yapısı biraz değişti. , tip GPTGraph veya CPTGraph alt sınıfının olduğunu varsayarak, bir grafiğin sınır hattını kaldırmak için kod cevapların

graph.plotAreaFrame.borderLineStyle = nil; 
8

Yok benim için çalıştı olduğunu.

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

borderLineStyle = nil ile doğru yolu applyTheme sonra: Bu iş yaptı

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

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

benim gibi, sadece sınır çizgisini kaldırmaz, ama bir arsa yapmak isteyen, varsa Bu, tüm barındırma görüntüsünü kaplıyor, Thomas Johannesmeyer'dan answer beni doğru yolda buldunuz.

İşte ne yaptım:

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; 
İlgili konular