2013-09-04 8 views
5

मैं डेटा के लिए एच्र्टेंगिन का उपयोग कर रहा हूं कि मेरा एप्लिकेशन लगातार सॉकेट कनेक्शन पर प्राप्त हो रहा है। बिंदु समय के खिलाफ प्लॉट किया गया है जो मेरा एक्स अक्ष है। एक बार ग्राफ होने पर उपयोगकर्ता ग्राफ़ को पैन और ज़ूम कर सकता है। सब कुछ बटररी चिकनी है। एकमात्र समस्या यह है कि जब उपयोगकर्ता ग्राफ को ज़ूम करता है, तो ग्राफ़ के भाग x और y अक्ष के दूसरी तरफ भी दिखाई देते हैं।एक्स और वाई धुरी के बाहर दिखाई देने वाला ग्राफ

मैं ग्राफ को एक्स और वाई अक्ष के बाहर दिखाई देने से कैसे रोकूं?

यहां मेरे कोड का एक हिस्सा है।

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 

renderer.setChartTitleTextSize(12); 
renderer.setLabelsTextSize(15); 
renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01)); 
renderer.setApplyBackgroundColor(true); 
renderer.setBackgroundColor(Color.TRANSPARENT); 
renderer.setZoomEnabled(true, true); 
    renderer.setPointSize(5f); 
renderer.setShowGrid(true); 
renderer.setXTitle(xTitle); 
renderer.setYTitle(yTitle); 
renderer.setLabelsColor(getResources().getColor(R.color.black)); 
renderer.setXLabelsColor(getResources().getColor(R.color.black)); 
renderer.setYLabelsColor(0, getResources().getColor(R.color.black)); 
renderer.setDisplayValues(true); 
renderer.setSelectableBuffer(20); 
renderer.setShowLegend(false); 

    renderer.setRange(new double[] { timeSeriesChart.getMinX(), 
      timeSeriesChart.getMaxX(), 0/* minY */, maxY }); 

    renderer.setPanLimits(getChartLimit(
    isTimeChart, timeSeriesChart.getMinX(), timeSeriesChart.getMaxX(), 
    (maxY*-1)+timeSeriesChart.getMinY(), 
    maxY)); 

enter image description here

+0

एस्कर्टइंजिन का आप किस संस्करण का उपयोग कर रहे हैं? –

+0

मैं संस्करण 1.1.0 – Umesh

+0

का उपयोग कर रहा हूं क्या आपने इसे यहां से डाउनलोड किया है: http://code.google.com/p/achartengine/downloads/list? –

उत्तर

0

मैं एक ऐसी ही आवश्यकता थी। मैंने इसे अपने डेटासेट को अधिकतम और न्यूनतम मान पर क्लैंप करके हल किया। बेशक मेरे मामले में यह काम करता था क्योंकि मैं अपने डेटासेट में रखने से पहले सर्वर से प्राप्त डेटा को बदल रहा था।

TimeSeries mTimeSeries; 

... 
... 

private void addValue(Date time, double val){ 
    if(val >= MAX_VALUE){ 
     val = MAX_VALUE; 
    } 
    if(val <= MIN_VALUE){ 
     val = MIN_VALUE; 
    } 

    mTimeSeries.add(time, val); 
} 
+0

क्या आपने अपने आवेदन में ज़ूमिंग की अनुमति दी? अगर ऐसा है तो आपने इसे कैसे संभाला? –

+0

नहीं। मैंने ज़ूमिंग – curioustechizen

+0

को उत्तर देने के लिए धन्यवाद अक्षम कर दिया है, लेकिन सवाल विशेष रूप से पैनिंग/ज़ूमिंग से संबंधित है। –

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