Utilizei a API Achartengine, disponível para download aqui: http://www.achartengine.org/
Depois de adicionar a API no Build Path do projeto podemos começar.
Existem diversas propriedades da api que não conheço ainda mais pelo que já pesquisei encontrei algumas coisas bem interessantes. Segue o exemplo:
- public class BarGraphActivity extends Activity{
- private GraphicalView mChartView;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bar_char_activity);
- createChart();
- }
- public void createChart(){
- int[] valores = {6, 7, 5, 3};
- CategorySeries series = new CategorySeries("Grafico de barras");
- for (int i = 0; i < valores.length; i++) {
- series.add(valores[i]);
- }
- XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
- dataset.addSeries(series.toXYSeries());
- XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
- setChartSettings(renderer);
- LinearLayout layout = (LinearLayout) findViewById(R.id.layout_chart);
- mChartView = ChartFactory.getBarChartView(this, getBarDemoDataset(),
- renderer, Type.DEFAULT);
- layout.addView(mChartView);
- }
- private XYMultipleSeriesDataset getBarDemoDataset() {
- XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
- int[] valores = {6, 7, 5, 3};
- CategorySeries series = new CategorySeries("Demo series");
- for (int i = 0; i < valores.length; i++) {
- series.add(valores[i]);
- }
- dataset.addSeries(series.toXYSeries());
- return dataset;
- }
- public XYMultipleSeriesRenderer getBarDemoRenderer() {
- XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
- renderer.setAxisTitleTextSize(16);
- renderer.setBarSpacing(1);
- renderer.setLegendTextSize(15);
- SimpleSeriesRenderer r = new SimpleSeriesRenderer();
- r.setColor(Color.YELLOW);
- renderer.addSeriesRenderer(r);
- return renderer;
- }
- private void setChartSettings(XYMultipleSeriesRenderer renderer) {
- renderer.setShowLegend(false);
- renderer.setAxesColor(Color.DKGRAY);
- renderer.setXAxisMin(0.5);
- renderer.setXAxisMax(12.5);
- renderer.setYAxisMin(0);
- renderer.setYLabelsAlign(Align.RIGHT);
- renderer.setXLabels(0);
- renderer.setZoomEnabled(false, false);
- renderer.setShowCustomTextGrid(true);
- renderer.setShowGridY(true);
- renderer.setShowGridX(true);
- renderer.addXTextLabel(1, "Jan");
- renderer.addXTextLabel(2, "Fev");
- renderer.addXTextLabel(3, "Mar");
- renderer.addXTextLabel(4, "Abr");
- }
- }
E o resultado disso tudo ficará assim:
Qualquer dúvida que tiverem tentarei ajudar, no site tem uma documentação legal e lá também está disponível para download um projeto com alguns exemplos utilizando outros tipos de gráficos.
Até a próxima...