package com.campus.gomotion.chart; import android.content.Context; import android.graphics.Color; import android.graphics.Paint; import android.view.View; import com.campus.gomotion.activity.MainActivity; import com.campus.gomotion.service.MotionStatisticService; import org.achartengine.ChartFactory; import org.achartengine.chart.BarChart; import org.achartengine.renderer.XYMultipleSeriesRenderer; import java.util.*; /** * Author: zhong.zhou * Date: 16/5/10 * Email: muxin_zg@163.com */ public class EvaluateChart extends AbstractDemoChart { public String getName() { return "bar chart"; } /** * Returns the chart description. * * @return the chart description */ public String getDesc() { return "the bar chart for daily evaluationData"; } /** * draw the chart of evaluationData * * @param context the context * @return View */ public View execute(Context context) { String[] titles = new String[]{"完成量", "体力感觉"}; List<double[]> xValues = new ArrayList<>(); xValues.add(new double[]{2, 4, 6}); xValues.add(new double[]{2, 4, 6}); List<double[]> yValues = new ArrayList<>(); if (MainActivity.completions != null && !MainActivity.completions.isEmpty()) { yValues.add(new double[]{Double.parseDouble(MainActivity.completions), 0, 0}); } else { yValues.add(new double[]{0, 0, 0}); } if (MainActivity.evaluation != null && !MainActivity.evaluation.isEmpty()) { yValues.add(new double[]{0, 0, Double.parseDouble(MainActivity.evaluation)}); } else { yValues.add(new double[]{0, 0, 0}); } int[] colors = new int[]{Color.BLUE, Color.GRAY}; XYMultipleSeriesRenderer renderer = buildBarRenderer(colors); renderer.getSeriesRendererAt(0).setDisplayChartValues(true); renderer.getSeriesRendererAt(0).setChartValuesTextSize(30); renderer.setXLabelsAlign(Paint.Align.LEFT);// 数据从左到右显示 renderer.setYLabelsAlign(Paint.Align.LEFT); renderer.setPanEnabled(true, false); renderer.setChartTitle("评估"); renderer.setChartTitleTextSize(60); renderer.setAxisTitleTextSize(40); renderer.setLabelsTextSize(20); renderer.setXTitle("拟定日期(天)"); renderer.setYTitle("百分比(%)"); renderer.setLabelsColor(Color.GREEN); renderer.setAxesColor(Color.BLUE); renderer.setXLabels(8); renderer.setXAxisMin(0); renderer.setXAxisMax(8); renderer.setYLabels(10); renderer.setYAxisMin(0); renderer.setYAxisMax(100); return ChartFactory.getBarChartView(context, buildDataset(titles, xValues, yValues), renderer, BarChart.Type.STACKED); } }