2012-03-03 4 views
1

(AchartEngine) TimeChart의 계열 점의 화면 좌표를 검색하려고하지만 toScreenPoint 메서드는 항상 NullPointerException을 반환합니다. TimeChart를 인스턴스화 할 때 내가 initialiize해야 뭔가Achartengine XYChart.toScreenPoint는 항상 NULLPointerException을 반환합니다.

TimeChart chart = new TimeChart(dataSet, renderer); 
XYSeries serie = dataSet.getSeriesAt(0); 

for(int u=0;u<serie.getItemCount();u++) 
{ 
    double dy = serie.getY(u); 
    double dx = serie.getX(u); 

    double[] pos = chart.toScreenPoint(new double[]{dx,dy}, 0); 
} 

있습니까 : 여기

코드인가?

답변

0

다음은 시간대 코드입니다. 자신 만의 코드로 fillData를 편집해야합니다.

private void chartView() { 

     layout = (RelativeLayout) findViewById(R.id.graph); 

     // create dataset and renderer 
     mDataset = new XYMultipleSeriesDataset(); 
     mRenderer = new XYMultipleSeriesRenderer(); 
     mRenderer.setAxisTitleTextSize(16); 
     mRenderer.setChartTitleTextSize(20); 
     mRenderer.setLabelsTextSize(15); 
     mRenderer.setLegendTextSize(15); 
     mRenderer.setPointSize(3f); 

     XYSeriesRenderer r = new XYSeriesRenderer(); 
     r.setColor(Color.CYAN); 
     r.setPointStyle(PointStyle.DIAMOND); 
     r.setFillPoints(true); 
     mRenderer.addSeriesRenderer(r); 
     mRenderer.setClickEnabled(true); 
     mRenderer.setSelectableBuffer(20); 
     mRenderer.setPanEnabled(true); 

     time_series = new TimeSeries("Weight"); 

     mDataset.addSeries(time_series); 

     fillData(); 

     mChartView = ChartFactory.getTimeChartView(this, mDataset, mRenderer, 
       "H:mm:ss"); 

     layout.addView(mChartView); 
    } 

private void fillData() { 
    long value = new Date().getTime() - 3 * TimeChart.DAY; 
    for (int i = 0; i < 100; i++) { 
     time_series.add(new Date(value + i * TimeChart.DAY/4), i); 
    } 
} 

희망이 당신을 돕는다!

+0

도움을 주셔서 감사합니다. 그러나 나는 뭔가를 놓치고 있다고 생각합니다. 이미 mChartView가 있지만 TimeChart 클래스의 메서드 인 toScreenPoint()를 사용하여 TimeChart 개체를 가져 오는 방법을 찾을 수 없습니다. – on35

+0

'public double [] toRealPoint (float screenX, float screenY, int scale)' '스크린 포인트를 실제 좌표 포인트로 변환합니다. 매개 변수 : screenX - 화면의 x 축 값 screenY - 화면 y 축 값 반환 값 : onTouch (보기 V, MotionEvent 이벤트) { screenX = 실제 좌표가 – sweggersen

+0

을 point' 나는 화면을 필요가 예 좌표 event.getX(); screenY = event.getX(); } 실제 좌표가 아닙니다. – on35

관련 문제