2013-02-03 25 views
5

मैं कस्टम छवि प्रतीक का उपयोग कर रहा हूं, जैसा कि Showing images on Scattering Graph as plot symbols in Core plot iOS में वर्णित है। CPTPlot में डेटा लेबल की स्थिति के संबंध में Positioning label on CPTBarPlot (Core-Plot) का भी संदर्भ लें।कोर प्लॉट: कस्टम छवि साजिश प्रतीक केंद्र कैसे करें

हालांकि, मुझे CPTScatterPlot.labelOffset से व्यवहार की आवश्यकता नहीं है जो मुझे चाहिए। सकारात्मक मूल्य छवि के नीचे और बिंदु के बीच की दूरी को बढ़ाते हैं, जबकि नकारात्मक मान छवि शीर्ष और बिंदु के बीच की दूरी को बढ़ाते हैं। मुझे बिंदु पर छवि को केन्द्रित करने की आवश्यकता है। स्क्रीनशॉट देखें:

  • सकारात्मक labelOffset मान: http://i.stack.imgur.com/O1uSe.png
  • नकारात्मक labelOffset मान: http://i.stack.imgur.com/E9fkL.png

मेरे समाधान hacky है और मुझे मेरे CustomImageForScatterPlot के drawInContext विधि में छवि फ्रेम को संशोधित करने की आवश्यकता है। labelOffset कैसे काम करना है इस पर कोई विचार है कि मैं कैसे चाहता हूं?

उत्तर

5

यह व्यवहार डेटा लेबल के लिए सही है। आप एक साजिश प्रतीक का उपयोग करना चाहते हैं।

-(CPTPlotSymbol *)symbolForScatterPlot:(CPTScatterPlot *)plot 
          recordIndex:(NSUInteger)index 
{ 
    CPTPlotSymbol *symbol = nil; 

    if (/* use symbol for this index? */) { 
     symbol = [CPTPlotSymbol ellipsePlotSymbol]; 
     symbol.fill = [CPTFill fillWithImage:/* symbol image */]; 
     symbol.size = CGSizeMake(width, height); 
    } 

    return symbol; 
} 

आप हर बिंदु एक प्रतीक है चाहते हैं, इस डेटा स्रोत विधि को लागू करने के बजाय plotSymbol गुण सेट।

+3

धन्यवाद, आप सही हैं कि मैं पहले 'dataLabelForPlot' का उपयोग कर रहा था। एफवाईआई दूसरों के लिए, उपरोक्त कोड नमूने में प्रतीक छवि एक पीएनजी संसाधन का उपयोग कर संदर्भित कर सकती है: '[सीपीटीएममेज छविफोरपीएनजीफ़ाइल: [[एनएसबंडल मेनबंडल] पथफॉर रिसोर्स: @ "icon_volume" टाइप: @ "png"]] '। – danhbear

+1

जब आप संपत्ति कैटलॉग का उपयोग करते हैं तो छोड़कर: पी http://stackoverflow.com/questions/20485453/creating-cptimages-from-images-in-xcassets-file –