2012-06-27 20 views
8

मैं वाई और एक्स के साथ एक ग्राफ प्राथमिक साजिश के साथ डिफ़ॉल्ट साजिश अंतरिक्ष पर तैयार axises है, और फिर मैं सहायक भूखंडों के लिए अलग भूखंड रिक्त स्थान है, उन्हें उनकी वाई अक्ष (X- अक्ष सभी के लिए समान है के साथ प्रत्येक भूखंडों)।कोर प्लॉट: साजिश, धुरी और लेबल कैसे छिपाना है?

मैं सहायक प्लॉट को चालू और बंद करने के लिए बटन लागू कर रहा हूं और मैं मूल रूप से संपूर्ण साजिश स्थान (साजिश, कस्टम वाई-अक्ष, और कस्टम वाई-अक्ष के लेबल) को शामिल करना चाहता हूं। साजिश की जगह के लिए कोई भी 'छिपी हुई संपत्ति' प्रतीत नहीं होती है, और साजिश और धुरी के सभी कठिन दोनों 'छुपे हुए' गुण होते हैं, इन्हें 'हां' में सेट करने से धुरी-लेबल दिखाई देते हैं।

  • आवश्यकतानुसार अधिक पुनर्विचार किए बिना प्लॉट स्पेस की सामग्री को पूरी तरह छिपाने का सबसे अच्छा तरीका क्या है?

मुझे लगता है कि ग्राफ़ से प्लॉट स्पेस और साजिश को पूरी तरह से निकालने का एक तरीका हो सकता है, लेकिन यह अनजान लगता है।

+0

कोशिश सेटिंग 'graph.axisSet = nil;' –

+0

कि ग्राफ में सभी axises हटा, मैं केवल अक्ष/सहायक भूखंडों के साथ जुड़े कुल्हाड़ियों को छिपाने के लिए चाहते हैं। मुझे लगता है कि एक समाधान के रूप में आप का सुझाव (कुल्हाड़ियों कि छिपा जाना चाहिए छोड़ते हुए) सब axises के लिए संदर्भ रखने के लिए और ग्राफ की axisSet फिर से कॉन्फ़िगर कर रहे हैं, लेकिन यह एक हैक :) – Setomidor

+0

हाँ की तरह लगता है, यह यकीन है कि एक काम है चारों ओर :) –

उत्तर

6

आप भी सभी लेबल छुपाना

CPTAxis *axis = someAxis; 
hidden = YES; 

axis.hidden = hidden; 
for (CPTAxisLabel *axisLabel in axis.axisLabels) { 
    axisLabel.contentLayer.hidden = hidden; 
} 
6

सेट YES अक्ष छिपाए जाने पर करने के लिए hidden। कस्टम लेबल का उपयोग कर रहे हैं (लेबलिंग नीति CPTAxisLabelingPolicyNone), बस nil करने के लिए axisLabels निर्धारित किया है। जब आप उन्हें फिर से दिखाना चाहते हैं तो नए लेबल सेट करें। अन्य लेबलिंग नीतियों के लिए, लेबल छिपाने के लिए और एक वैध फ़ॉर्मेटर आवंटित करने के लिए जब आप उन्हें देखना चाहते nil को labelFormatter निर्धारित किया है।

6

रूप axisSet स्तर पर छिपा हुआ आप सभी कुल्हाड़ियों सेट कर सकते हैं, और आप भी कुल्हाड़ियों के CPTAxisLabelingPolicyNone की लेबलिंग नीति बताए द्वारा लेबल छिपा कर सकते हैं निर्धारित कर सकते हैं। यह समाधान मेरे लिए अच्छी तरह से काम:

CPTXYAxisSet *axisSet = (CPTXYAxisSet *) self.graphHostingView.hostedGraph.axisSet; 
axisSet.hidden = YES; 

CPTAxis *y = axisSet.yAxis; 
y.labelingPolicy = CPTAxisLabelingPolicyNone; 

CPTXYAxis *x = axisSet.xAxis; 
x.labelingPolicy = CPTAxisLabelingPolicyNone; 
+0

आपके द्वारा दिए गए कोड के साथ कुछ स्पष्टीकरण जोड़ना सबसे अच्छा है। –

+0

धन्यवाद ओली; मैंने थोड़ा सा स्पष्टीकरण जोड़ा। – Dan