devnieL
6/24/2016 - 6:34 PM

gistfile1.txt

// Setup axis chart

        _chart.setHighlightPerTapEnabled(true);
        _chart.setHighlightPerDragEnabled(true);

        _chart.setPinchZoom(false);
        _chart.setDescription(null);
        _chart.setDoubleTapToZoomEnabled(false);
        _chart.animateX(1000, Easing.EasingOption.EaseInOutBack);

        _chart.getAxisLeft().setDrawGridLines(true);
        _chart.getAxisLeft().setGridColor(Color.WHITE);
        _chart.getAxisLeft().setTextColor(Color.parseColor("#CCffffff"));
        _chart.getAxisLeft().setDrawAxisLine(false);
        _chart.getAxisRight().setEnabled(false);
        _chart.getAxisLeft().setAxisMinValue(0);
        _chart.getAxisLeft().setXOffset(10);
        _chart.getAxisLeft().setValueFormatter(new YAxisValueFormatter() {
            @Override
            public String getFormattedValue(float value, YAxis yAxis) {
                return "S/ " + value;
            }
        });

        _chart.getXAxis().setDrawAxisLine(false);
        _chart.getXAxis().setTextColor(Color.parseColor("#CCffffff"));
        _chart.getXAxis().setGridColor(Color.WHITE);
        _chart.getXAxis().setDrawGridLines(false);

        _chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
        _chart.getXAxis().setLabelRotationAngle(0);
        _chart.getXAxis().setLabelsToSkip(0);
        _chart.getXAxis().setYOffset(10f);

        _chart.setExtraBottomOffset(10f);

        // Setup markers
        PABalloonChartMarker mv = new PABalloonChartMarker(getApplicationContext(), R.layout.marker_payments_chart);
        _chart.setMarkerView(mv);

        _chart.getLegend().setEnabled(true);
        _chart.getLegend().setForm(Legend.LegendForm.LINE);
        _chart.getLegend().setTextColor(Color.WHITE);
        _chart.getLegend().setPosition(Legend.LegendPosition.BELOW_CHART_LEFT);
        _chart.getLegend().setXOffset(-10);

        // Setup data

        // Setup data count

        // Setup data
        //String[] xVals = {"Ene ", "Feb ", "Mar ", "Abr ", "May ", "Jun ", "Jul ", "Ago ", "Set ", "Oct ", "Nov ", "Dic "};
        List<String> xVals = new ArrayList<String>();
        List<Entry> yVals = new ArrayList<Entry>();

        Iterator<String> it = payments.keys();

        while(it.hasNext()){

            String key = it.next();
            Entry entry = null;

            try {
                entry = new Entry(Float.valueOf(payments.getString(key)), 0);
            }catch(Exception e){}

            xVals.add(key);
            yVals.add(entry);

        }

        PrimaxChartData primax_chart_data = new PrimaxChartData(xVals, yVals);
        primax_chart_data.sort();


        LineDataSet set1 = new LineDataSet(primax_chart_data.getYVals(), "Consumo mensual de los últimos 12 meses");
        set1.setDrawValues(false); // TO research. When it's true, an exception will raise.
        set1.setColor(Color.WHITE);
        set1.setCircleColor(Color.WHITE);
        set1.setLineWidth(1.0f);
        set1.setCircleRadius(2.6f);
        set1.setFillAlpha(1);

        GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{
                Color.argb(200, 60, 120, 224),
                Color.argb(128, 60, 120, 224),
                Color.argb(0, 60, 120, 224)});

        set1.setFillDrawable(gd);
        set1.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
        set1.setDrawFilled(true);
        set1.setDrawHighlightIndicators(false);


        ArrayList<ILineDataSet> datasets = new ArrayList<ILineDataSet>();
        datasets.add(set1);

        LineData data = new LineData(primax_chart_data.getXVals(), datasets);

        _chart.setData(data);