MPChart画图:折线图、饼状图、柱状图

这篇博客介绍了如何使用MPChart库在Android平台上绘制折线图、饼状图和柱状图,包括基本的代码实现和示例图片,适合初学者入门参考。
摘要由CSDN通过智能技术生成

日常入门代码,欢迎品评。有些地方没有讲清楚,因为我自己也没哟搞清楚,大家浅尝辄止。


 折线图 LineChart

先看图:

代码部分:

    private void initLineChart(){
        Description description = new Description();
        description.setText("give a mark");
        description.setTextSize(16);
        lineChart.setDescription(description);
        String[] xData = {"1", "2", "3", "4", "5"};//预设的x轴的数据
        String[] yData = {"80", "85", "80","90", "95"};//预设的y轴的数据
        LineData lineData = getData(xData, yData);
        lineChart.setData(lineData);
        lineChart.setAutoScaleMinMaxEnabled(false);
        lineChart.setBorderWidth(1f);//设置边框的宽度(粗细)
        lineChart.setDrawBorders(true);//显示图形的边框(边界)
        lineChart.setDragXEnabled(true);//在放大的情况下,能否拖动x轴
        lineChart.setDragYEnabled(true);
        lineChart.setTouchEnabled(true);//设置为false的话,界面就像是一个图片
        lineChart.setBackgroundColor(Color.parseColor("#d1d1d1"));
        lineChart.setDrawMarkers(true);//设置是否显示
        lineChart.setMarker(new IMarker() {//设置imarker可以设置点击数据的时候出现的图形。
            @Override
            public MPPointF getOffset() {
                return null;
            }

            @Override
            public MPPointF getOffsetForDrawingAtPoint(float posX, float posY) {
                return null;
            }

            @Override
            public void refreshContent(Entry e, Highlight highlight) {

            }

            @Override
            public void draw(Canvas canvas, float posX, float posY) {
                Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
                paint.setColor(Color.GREEN);
                paint.setTextSize(22f);
                canvas.drawText("here", posX, posY, paint);
            }
        });

        lineChart.animateX(500);
    }

    private LineData getData(String[] xd, String[] yd){
        //节点
        ArrayList<Entry> nodeData = new ArrayList<>();
        for (int i = 0; i < xd.length; i ++){
            nodeData.add(new Entry(Float.parseFloat(xd[i]), Float.parseFloat(yd[i])));
        }
        LineDataSet lineDataSet = new LineDataSet(nodeData, "Score for fisrt five time");
        lineDataSet.setDrawFilled(true);//就是折线图下面是否有阴影填充,这样看起来就像是起伏的山脉
        lineDataSet.setFillColor(Color.GREEN);
        lineDataSet.setDrawCircles(true);//数据是否用圆圈显示
        lineDataSet.setCircleColor(Color.BLACK);//显示数据的圆的颜色
        lineDataSet.setCircleRadius(4f);//显示数据的圆的半径
        lineDataSet.setCircleColors(Color.BLACK, Color.GRAY, Color.BLUE, Color.GREEN, Color.RED);//显
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

le540850072

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值