При разработке бизнес приложений программисты часто сталкиваются с необходимостью строить большое количество различных диаграмм и графиков. Конечно, все можно делать с нуля, вручную отрисовывая все необходимое, но зачем так мучатся, если есть неплохое бесплатное решение? Сегодня я хочу рассказать Вам об open source библиотеке AChartEngine, позволяющей создавать красивые графики и диаграммы для ваших отчетов. Приятно, что библиотека распространяется под весьма мягкой лицензией Apache Version 2, так что Вы вполне можете использоватьAChartEngineв своих коммерческих проектах.
На сайте разработчика помимо самой библиотеки можно найти подробную документацию, офермленную в стиле Javadoc pages, примеры использования библиотеки, а также ее исходный код. В разделе Demo приводится несколько диаграмм и графиков, построенных средствами AChartEngine.
Для построения диаграммы нужно выполнить несколько довольно простых шагов
Ниже приводится исходный код, в котором реализованы все описанные выше шаги.
package com.example.bars; import org.achartengine.ChartFactory; import org.achartengine.chart.PieChart; import org.achartengine.model.CategorySeries; import org.achartengine.renderer.DefaultRenderer; import org.achartengine.renderer.SimpleSeriesRenderer; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.app.Activity; import android.os.Bundle; publicclass MainActivityextends Activity{ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); Intent intent= buildIntent(); startActivity(intent);// шаг 7 } public Intent buildIntent(){ int[] values=new int[]{5,15,25,50,75};// шаг 2 String[] bars=new String[]{"Francesca's","King of Clubs", "Zen Lounge","Tied House","Molly Magees"}; int[] colors=new int[]{ Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN}; CategorySeries series=new CategorySeries("Pie Chart");// шаг 3 DefaultRenderer dr=new DefaultRenderer();// шаг 4 for(int v=0; v<5; v++){// шаг 5 series.add(bars[v], values[v]); SimpleSeriesRenderer r=new SimpleSeriesRenderer(); r.setColor(colors[v]); dr.addSeriesRenderer(r); } dr.setZoomButtonsVisible(true); dr.setZoomEnabled(true); dr.setChartTitleTextSize(20); return ChartFactory.getPieChartIntent(// шаг 6 this, series, dr,"Pie of bars"); } }
Мы построили диаграмму PieChartIntent, однако подобным образом можно построить и другие виды графиков. Мне библиотека показалась довольно удобной и понятной. Ее можно использовать, если необходимо быстро разработать какое-нибудь бизнес-приложение со строгим дизайном.
Источники:Peter_vdL "Enterprise Grade Charts"
http://www.achartengine.org
Перевод:Александр Ледков