2013-09-11 9 views
0

내 안드로이드 앱 안에 3 개의 그래프를 그려야합니다. 각 그래프는 viewPager 레이아웃 내의 프래그먼트 안에 있으며 각 프래그먼트는 앱이 포커스가있는 동안 계속 메모리에 유지됩니다. 또한 사용자가 그래프 포인트를 누르면 해당 포인트의 정보가있는 팝업이 나타납니다. 나는 라이브 차트와 achartengine 라이브러리를 찾았지만 내 목적을 위해 더 낫지 않습니까? 중요한 것은 가벼운 메모리 요청입니다.차트 그리기 lightweight libraries

답변

1

많이 개선되고 간단한 옵션이있는 또 다른 경량 그래프 라이브러리가 있습니다. 이 라이브러리의 이름은 GraphView 라이브러리입니다.

그래프를 정적 및 동적으로 그리는 기능을 제공합니다. 또한 다른 기능으로는 집게 확대 및 기타 확대/축소 기능이 있습니다.

사용 GraphView 라이브러리 : 원형 등 그래프 선 라인의 다른 유형을 사용하기 위해

GraphViewSeries rndSeries=new GraphViewSeries("random curve",null,data); 
          Log.d(TAG, "Series created"); 
          GraphView graphView=new LineGraphView(getApplicationContext(), "Amplitude-Time Graph  X-axis:Time(ms)  Y-axis: Amplitude"); 
          Log.d(TAG, "Line GraphView created"); 
          graphView.addSeries(rndSeries); 
          Log.d(TAG, "series added"); 
          graphView.setVerticalScrollBarEnabled(true); 

          //long xmax=preferences1.getLong("Maxx", 0); 

          graphView.setViewPort(0, 100); 
          Log.d(TAG, "port setup"); 
          graphView.setScalable(true); 
          graphView.setScrollable(true); 
          graphView.computeScroll(); 
          graphView.setHorizontalScrollBarEnabled(true); 
          graphView.setBackgroundColor(Color.BLACK); 
          graphView.setVerticalLabels(new String[] {"  "," ","Amp"}); 
          graphView.setHorizontalLabels(new String[] {"   ","Time (ms)"}); 
          graphView.setManualYAxisBounds(300.0d, -30.0d); 
          graphView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
          graphView.setVisibility(View.VISIBLE); 
          Log.d(TAG, "Obtaining reference to layout"); 
          //setContentView(R.layout.graphview); 
          LinearLayout layout=(LinearLayout) findViewById(R.id.gviewlayoutt); 
          Log.d(TAG, "reference obtd"); 

          layout.addView(graphView); 
          Log.d(TAG, "graph view added to layout"); 

: 이하

Google for the GraphView.jar and place it inside your /libs folder under your applications directory. 

랜덤 곡선을 그리는 샘플 코드 (사인파) 인 아래 링크를 참조하십시오.

http://www.jjoe64.com/p/graphview-library.html

이 라이브러리를 사용한 이유는 많은 추가 기능이있는 AChartEngine보다 훨씬 빠릅니다. 또한 memorywise 그것의 정말 좋은.

희망이 도움이되었습니다.

+0

좋아, 고마워, 이제 해봐. 내 그래프도 동적 일 것입니다 – giozh

+0

@giozh : GraphView 라이브러리를 사용할 수 있습니다. 그래프 그래프는 동적 그래프 생성을 위해 잘 문서화되어 있습니다. 그리고 pls 당신이 그것의 요구 사항을 충족 느낀 한 대답을 허용합니다. -문안 인사. – Zax