2012-06-19 27 views
11

हाय मैं एक फील्ड टेस्ट एप्लिकेशन विकसित करने की कोशिश कर रहा हूं और मुझे पड़ोसी कोशिकाओं की सिग्नल शक्ति जैसी जानकारी पुनर्प्राप्त करना है।वाईफाई विश्लेषक ऐप जैसे एंड्रॉइड में ग्राफ कैसे आकर्षित करें?

तो मेरे सवाल है:

मैं X- अक्ष और वास्तविक समय में Y- अक्ष पर सिग्नल की शक्ति पर विभिन्न पड़ोसी कोशिकाओं के साथ एक ग्राफ कैसे प्रदर्शित कर सकते हैं? एक उदाहरण here

मुझे पहले से ही 5 या 6 पड़ोसी कोशिकाएं मिल चुकी हैं और प्रत्येक के लिए उनकी सिग्नल शक्ति है।

+0

आपकी समस्या क्या है? क्या यह शक्ति बनाम पड़ोसी कोशिकाओं को प्राप्त कर रहा है, या क्या आपका मुद्दा इसे प्रदर्शित कर रहा है?यदि आपके पास पहले से डेटा है तो आप शायद इसे अपनी टिप्पणी के लिए कैनवास – Guardanis

+0

थक्स पर प्लॉट कर सकते हैं। मैं मजबूती बनाम पड़ोसी बनाना चाहता हूं और निश्चित रूप से इसे प्रदर्शित करता हूं। मेरे पास पहले से ही डेटा है इसलिए समस्या यह है कि कैनवास पर इसे साजिश कैसे करें जैसा आपने कहा !!! – 13KZ

+1

यदि आपने पहले कभी कैनवास का उपयोग नहीं किया है, तो यह शुरू करने के लिए एक अच्छी जगह है: http://www.tutorialforandroid.com/2009/06/drawing-with-canvas-in-android.html - और यदि आप पहले से ही हैं डेटा है, बस अंक के माध्यम से लूप करें और उन्हें खींचें (मंडल, उनके माध्यम से लाइनें, आदि) – Guardanis

उत्तर

12

इसके बजाय ग्राफ को अपने स्वयं को कैनवास का उपयोग करके चित्रित करने के बजाय, आप चार्ट इंजन लाइब्रेरी का उपयोग कर सकते हैं और यह भी करना आसान होगा।

AchartEngine तरह

, ChartDroid, aFreeChart, MPAndroidChart

3 डी चार्ट के लिए Charts4J

मैं कैसे X- अक्ष और Y- अक्ष पर सिग्नल की शक्ति पर विभिन्न पड़ोसी कोशिकाओं के साथ एक ग्राफ प्रदर्शित कर सकते हैं वास्तविक समय में?

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

+2

मैं [aFreeChart] (https://code.google.com/p/afreechart/) जोड़ना चाहता हूं, जो सूची में jFreeChart का एक बंदरगाह है। – Ivin

+0

आप वेल-आओ, धन्यवाद @ इविन – MKJParekh

+0

धन्यवाद बहुत धन्यवाद @Ivin – 13KZ

1

मुझे नहीं पता कि आप किस प्रकार का ग्राफ विकसित करना चाहते हैं क्योंकि आपके लिंक पर विभिन्न प्रकार हैं। लेकिन मैंने एंड्रॉइड में एक वास्तविक समय रेखा ग्राफ विकसित किया है। मैं लाइनों ड्राइंग के लिए कैनवास का उपयोग कर रहा हूँ।

public class GraphView extends View 
{ 
    ... 
    private final Rect rect = new Rect(); 
    private final Paint linePaint = new Paint(); 
    private final Paint backgroundPaint = new Paint(); 
    private float[] points; 

    public GraphView(final Context context, final AttributeSet aSet) 
    { 
     super(context, aSet); 
    } 
    @Override 
    protected void onDraw(final Canvas canvas) 
    { 
     if (points == null) 
     { 
      return; 
     } 
     canvas.drawLines(points, linePaint); 
     rect.set((int) (xIndex * xScale), 0, (int) (xIndex * xScale + 5), getHeight()); 
     canvas.drawRect(rect, backgroundPaint); 
    } 
... 
} 

आप आसानी से अपनी आवश्यकताओं के अनुसार अपने रेक्ट को स्थिति/आकार दे सकते हैं। मैंने xIndex और xScale की गणना नहीं लिखी थी। अंक सरणी वह है जो आपके मान लिखे जाएंगे।

लेकिन सावधान रहें, एंड्रॉइड लाइनों में जोड़े के साथ खींचे जाते हैं, मुझे पता नहीं है कि कोई 'बिंदु' संरचना नहीं है।

मेरा मतलब है [1, 0.25, 2, 0.45] x1 = 1, y1 = 0.25 और x2 = 2, y2 के बीच एक रेखा = 0.45

इसके अलावा, आप postInvalidate() द्वारा ड्रा ट्रिगर कर सकते हैं

ड्रॉ

postInvalidate() onDraw (Canvas canvas)

1

मैं तुम्हें नहीं बल्कि कैनवास के लिए ड्राइंग से AChartEngine का उपयोग सुझाव देते हैं। आप लाइब्रेरी, जावाडॉक्स और डेमो एप्लिकेशन here डाउनलोड कर सकते हैं।

एखर्ट एंजिन के साथ शुरू करने पर यूट्यूब पर ट्यूटोरियल हैं।

आप रंग भरने वाले चार्ट के नीचे रेखा चार्ट का उपयोग कर सकते हैं या आपके द्वारा प्रदान किए गए पहले स्क्रीनशॉट में कार्यक्षमता की प्रतिलिपि बनाने के लिए भरे नहीं हैं।

संबंधित मुद्दे