- 라이브러리 다운로드 (Download Achartengine Lib)
https://code.google.com/p/achartengine/ - 이클립스에서 안드로이드 프로젝트 생성 (Create Android Project)
<LinearLayout
android:id="@+id/llBody"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical">
</LinearLayout> - 프로젝트에 라이브러리 추가하기 (Add Lib in the project)
만약, libs 폴더가 없다면 만들어 주면 된다. - 그래프 LIB 사용 (Use Graph LIB)
// 표시할 수치값
List<double[]> values = new ArrayList<double[]>();
values.add(new double[] { 14230, 12300, 14240, 15244, 15900, 19200,
22030, 21200, 19500, 15500, 12600, 14000 });
/** 그래프 출력을 위한 그래픽 속성 지정객체 */
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
// 상단 표시 제목과 글자 크기
renderer.setChartTitle("통화 순위");
renderer.setChartTitleTextSize(20);
// 분류에 대한 이름
String[] titles = new String[] { "통화량" };
// 항목을 표시하는데 사용될 색상값
int[] colors = new int[] { Color.YELLOW };
// 분류명 글자 크기 및 각 색상 지정
renderer.setLegendTextSize(15);
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
// X,Y축 항목이름과 글자 크기
renderer.setXTitle("월");
renderer.setYTitle("판매량");
renderer.setAxisTitleTextSize(12);
// 수치값 글자 크기 / X축 최소,최대값 / Y축 최소,최대값
renderer.setLabelsTextSize(10);
renderer.setXAxisMin(0.5);
renderer.setXAxisMax(12.5);
renderer.setYAxisMin(0);
renderer.setYAxisMax(24000);
// 그래프 위에 값 표시하기
renderer.getSeriesRendererAt(0).setDisplayChartValues(true);
renderer.getSeriesRendererAt(1).setDisplayChartValues(true);
renderer.getSeriesRendererAt(0).setChartValuesTextAlign(Align.RIGHT);
renderer.getSeriesRendererAt(1).setChartValuesTextAlign(Align.RIGHT);
renderer.getSeriesRendererAt(0).setChartValuesTextSize(20);
renderer.getSeriesRendererAt(1).setChartValuesTextSize(20);
// X,Y축 라인 색상
renderer.setAxesColor(Color.WHITE);
// 상단제목, X,Y축 제목, 수치값의 글자 색상
renderer.setLabelsColor(Color.CYAN);
// X축의 표시 간격
renderer.setXLabels(12);
// Y축의 표시 간격
renderer.setYLabels(5);
// X,Y축 정렬방향
renderer.setXLabelsAlign(Align.LEFT);
renderer.setYLabelsAlign(Align.LEFT);
// X,Y축 스크롤 여부 ON/OFF
renderer.setPanEnabled(false, false);
// ZOOM기능 ON/OFF
renderer.setZoomEnabled(false, false);
// ZOOM 비율
renderer.setZoomRate(1.0f);
// 막대간 간격
renderer.setBarSpacing(0.5f);
// 설정 정보 설정
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
for (int i = 0; i < titles.length; i++) {
CategorySeries series = new CategorySeries(titles[i]);
double[] v = values.get(i);
int seriesLength = v.length;
for (int k = 0; k < seriesLength; k++) {
series.add(v[k]);
}
dataset.addSeries(series.toXYSeries());
}
// 그래프 객체 생성
GraphicalView gv = ChartFactory.getBarChartView(this, dataset, renderer, Type.STACKED);
// 그래프를 LinearLayout에 추가
LinearLayout llBody = (LinearLayout) findViewById(R.id.llBody);
llBody.addView(gv); - 결과
반응형
'IT, 프로그램, SW개발 > 안드로이드, 자바' 카테고리의 다른 글
안드로이드 ZIP으로 압축,해제 코드 (0) | 2014.06.20 |
---|---|
Android Compile시 string.xml 관련 is not translated in ... Lint 에러 해결 방법 (0) | 2014.06.18 |
안드로이드 해상도별 icon 사이즈 (0) | 2014.06.18 |
achartengine 바 차트,꺽은선 차트 예제 (0) | 2014.03.26 |
Google Maps Android API v2 사용하기 (0) | 2014.03.26 |