美文网首页Android那点事
MPAndroidChart学习笔记(二)

MPAndroidChart学习笔记(二)

作者: NickelFox | 来源:发表于2017-03-15 12:03 被阅读49次

    一幅简单的BarChart

    效果:

    效果图

    代码:

    private void initBarChart() {
            mBarChart = (BarChart) findViewById(R.id.bar_chart);
    
            /*1.chart格式设置*/
            mBarChart.setDrawGridBackground(false);//无背景网格
            mBarChart.setDrawBorders(false);//无边框
    
            //图表描述
            Description description = new Description();
            description.setText("近一周学习时间图(分钟/天)");//描述内容
            description.setTextColor(0xff000000);//描述字体颜色
            description.setTextSize(16f);//描述字体大小
            description.setTextAlign(Paint.Align.LEFT);//文字左对齐
            description.setPosition(100,100);//设置图表描述
            mBarChart.setDescription(description);
    
            mBarChart.setTouchEnabled(false);//可触摸
            mBarChart.setDragEnabled(true);//可拖动
            mBarChart.setScaleEnabled(true);//可放缩
    
            /*2.获取坐标轴并进行设置*/
            //获取和设置X轴
            XAxis xAxis = mBarChart.getXAxis();//获取X轴
            xAxis.setEnabled(true);//设置显示X轴
            xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//X轴位置
            xAxis.setAxisLineWidth(2);//设置X轴宽度
            xAxis.setDrawGridLines(false);//无网格
            xAxis.setDrawAxisLine(true);//显示X轴
            /*X轴数据*/
            final String[] xValues = {"3.14","3.15","3.16","3.17","3.18","3.19","3.20"};
            /*给X轴设置数据*/
            xAxis.setValueFormatter(new IAxisValueFormatter() {
                @Override
                public String getFormattedValue(float value, AxisBase axis) {
                    return xValues[(int)value];
                }
    
                @Override
                public int getDecimalDigits() {
                    return 0;
               }
            });
            xAxis.setDrawLabels(true);
    
            //获取并设置Y轴
            YAxis leftYAxis = mBarChart.getAxisLeft();//获取左侧Y轴
            YAxis rightYAxis = mBarChart.getAxisRight();//获取右侧Y轴
            rightYAxis.setEnabled(false);//禁止显示右侧Y轴
            leftYAxis.setAxisLineWidth(2);
            leftYAxis.setDrawGridLines(false);
            /*leftYAxis.setStartAtZero(true);//设置从零开始显示*/
    
            /*3.添加数据*/
            ArrayList<BarEntry> entries1 = new ArrayList<>();//Entry就是折线图上的点
            entries1.add(new BarEntry(0,85));
            entries1.add(new BarEntry(1,88));
            entries1.add(new BarEntry(2,75));
            entries1.add(new BarEntry(3,69));
            entries1.add(new BarEntry(4,95));
            entries1.add(new BarEntry(5,77));
            entries1.add(new BarEntry(6,88));
    
            BarDataSet barDataSet = new BarDataSet(entries1,"使用时间");
    
            BarData barData = new BarData(barDataSet);
    
            mBarChart.setData(barData);
            mBarChart.invalidate();//刷新显示
        }
    
    

    说明:

    原理和LineChart一样,就是图表类型有改变

    参考:MPAndroidChart学习笔记(一)

    相关文章

      网友评论

        本文标题:MPAndroidChart学习笔记(二)

        本文链接:https://www.haomeiwen.com/subject/uzhlnttx.html