Android 统计框架hellocharts

首先你要在build.gradle中加入applicationId “com.example.hellocharts”,然后让它自动加载。
那就写一个简单的统计,但是因为特殊原因,实例图片展示不了,你们就看看吧。

<lecho.lib.hellocharts.view.ColumnChartView
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="350dp"
        android:padding="20dp"/>

实现功能:

public class MainActivity extends AppCompatActivity {

    private ColumnChartView chart;

    private ColumnChartData data;

    public final static String[] week = new String[]{"周一", "周二", "周三",
            "周四", "周五", "周六", "周日"};

    private List<Float> list = new ArrayList<>();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    }

    private void initView() {

        chart= (ColumnChartView) findViewById(R.id.chart);
        chart.setZoomEnabled(false);//禁止手势缩放
    }

    private void initData() {
        //list.add();//把你获取到的或用到的数据填充到集合中
        setFirstChart();
    }

    private void setFirstChart() {
        // 使用的 7列,每列1个subcolumn。
        int numSubcolumns = 1;
        int numColumns = 7;
        //定义一个圆柱对象集合
        List<Column> columns = new ArrayList<Column>();
        //子列数据集合
        List<SubcolumnValue> values;

        List<AxisValue> axisValues = new ArrayList<AxisValue>();
        //遍历列数numColumns
        for (int i = 0; i < numColumns; ++i) {

            values = new ArrayList<SubcolumnValue>();
            //遍历每一列的每一个子列
            for (int j = 0; j < numSubcolumns; ++j) {
                //为每一柱图添加颜色和数值
                float f = list.get(i);
                values.add(new SubcolumnValue(f, ChartUtils.pickColor()));
            }
            //创建Column对象
            Column column = new Column(values);
            //这一步是能让圆柱标注数据显示带小数的重要一步 让我找了好久问题
            //作者回答https://github.com/lecho/hellocharts-android/issues/185
            ColumnChartValueFormatter chartValueFormatter = new SimpleColumnChartValueFormatter(2);
            column.setFormatter(chartValueFormatter);
            //是否有数据标注
            column.setHasLabels(true);
            //是否是点击圆柱才显示数据标注
            column.setHasLabelsOnlyForSelected(false);
            columns.add(column);
            //给x轴坐标设置描述
            axisValues.add(new AxisValue(i).setLabel(week[i]));
        }
        //创建一个带有之前圆柱对象column集合的ColumnChartData
        data= new ColumnChartData(columns);

        //定义x轴y轴相应参数
        Axis axisX = new Axis();
        Axis axisY = new Axis().setHasLines(true);
        axisY.setName("签到率(%)");//轴名称
        axisY.hasLines();//是否显示网格线
        axisY.setTextColor(R.color.colorAccent);//颜色

        axisX.hasLines();
        axisX.setTextColor(R.color.colorPrimary);
        axisX.setValues(axisValues);
        //把X轴Y轴数据设置到ColumnChartData 对象中
        data.setAxisXBottom(axisX);
        data.setAxisYLeft(axisY);
        //给表填充数据,显示出来
        chart.setColumnChartData(data);
    }

初次了解这种框架,还不熟悉,请大家见谅,给大家分享一个网址
[http://www.github.com]希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值