2014-06-17 6 views
2

안드로이드 바 차트/그래프가 x 축과 y 축으로 y 축이 값이 될 것입니다 .. 차트에서 4 개의 값만 표시하면됩니다 . 나는 막대 차트에 표시 할 값이 4 개인 간단한 샘플이 아닌 많은 샘플을 발견했습니다. 누구나 간단한 막대 차트 .. x, y 축의 예제를 제안 할 수 있습니다.X 축 및 Y 축이있는 안드로이드 플롯 바 그래프

bar chart http://www.wekaleamstudios.co.uk/wp-content/uploads/2009/12/barchart-lattice1.jpeg

답변

1

이 시도 나는 아래의 이미지와 유사 검색하고! MainActivity.java

import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.ActionBar; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.os.Build; 
import java.util.ArrayList; 
import java.util.Random; 

import org.achartengine.ChartFactory; 
import org.achartengine.chart.BarChart.Type; 
import org.achartengine.model.CategorySeries; 
import org.achartengine.model.XYMultipleSeriesDataset; 
import org.achartengine.renderer.SimpleSeriesRenderer; 
import org.achartengine.renderer.XYMultipleSeriesRenderer; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Color; 
import android.graphics.Paint.Align; 
import android.view.Menu; 
public class MainActivity extends Activity { 
    private static final int SERIES_NR = 2; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     XYMultipleSeriesRenderer renderer = getTruitonBarRenderer(); 
     myChartSettings(renderer); 
     Intent intent = ChartFactory.getBarChartIntent(this, getTruitonBarDataset(), renderer, Type.DEFAULT); 
     startActivity(intent); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    private XYMultipleSeriesDataset getTruitonBarDataset() { 
     XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
     final int nr = 4; 
     Random r = new Random(); 
     ArrayList<String> legendTitles = new ArrayList<String>(); 
     legendTitles.add("Sales"); 
     legendTitles.add("Expenses"); 
     for (int i = 0; i < SERIES_NR; i++) { 
      CategorySeries series = new CategorySeries(legendTitles.get(i)); 
      for (int k = 0; k < nr; k++) { 
       series.add(100 + r.nextInt() % 100); 
      } 
      dataset.addSeries(series.toXYSeries()); 
     } 
     return dataset; 
    } 

    public XYMultipleSeriesRenderer getTruitonBarRenderer() { 
     XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
     renderer.setAxisTitleTextSize(16); 
     renderer.setChartTitleTextSize(20); 
     renderer.setLabelsTextSize(15); 
     renderer.setLegendTextSize(15); 
     renderer.setMargins(new int[] { 30, 40, 15, 0 }); 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(Color.GREEN); 
     renderer.addSeriesRenderer(r); 
     r = new SimpleSeriesRenderer(); 
     r.setColor(Color.YELLOW); 
     renderer.addSeriesRenderer(r); 
     return renderer; 
    } 

    private void myChartSettings(XYMultipleSeriesRenderer renderer) { 
     renderer.setChartTitle("BarChart Example"); 
     renderer.setXAxisMin(0.5); 
     renderer.setXAxisMax(10.5); 
     renderer.setYAxisMin(0); 
     renderer.setYAxisMax(210); 
     renderer.addXTextLabel(1, "2010"); 
     renderer.addXTextLabel(2, "2011"); 
     renderer.addXTextLabel(3, "2012"); 
     renderer.addXTextLabel(4, "2013"); 
     renderer.setYLabelsAlign(Align.RIGHT); 
     renderer.setBarSpacing(0.5); 
     renderer.setXTitle("Years"); 
     renderer.setYTitle("Performance"); 
     renderer.setShowGrid(true); 
     renderer.setGridColor(Color.GRAY); 
     renderer.setXLabels(0); // sets the number of integer labels to appear 
    } 

} 

이 매니페스트 파일에이 줄을 추가합니다 :이 작품 .. 모든 도움을

<activity android:name="org.achartengine.GraphicalActivity" /> 
+0

감사합니다 ..하지만 문제는 내가의 활동 중 하나에이 코드를 추가 내 응용 프로그램 ...하지만 이것은 몇 가지 differnt 애플 리케이션을 열 것 같다 ... 내가 다시 안녕하세요 페이지를 열어 다시 버튼을 누르면 ... 다음에 다시 다시 언론 이동 – user3226440

+0

당신은 XML을로드하는 방법을 다음 .. 로드 의도 ... – user3226440