开源控件hellocharts

本文详细介绍如何使用HelloCharts库绘制各种图表,包括折线图、柱状图、饼图和气泡图等,并提供了详细的代码示例及配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

github地址:
https://github.com/lecho/hellocharts-android

jar下载地址(eclipse):
https://github.com/lecho/hellocharts-android/releases


折线图 line chart

 // 1 
        LineChartView mChartView = (LineChartView) findViewById(R.id.linechart);
        // 2
        LineChartData data = new LineChartData();
        // 3
        List<PointValue> values = new ArrayList<PointValue>();
        values.add(new PointValue(0, 1));
        values.add(new PointValue(1, 3));
        values.add(new PointValue(2, 2));
        values.add(new PointValue(3, 4));
        Line line = new Line(values).setColor(Color.RED).setCubic(true);

        List<PointValue> values2 = new ArrayList<PointValue>();
        values2.add(new PointValue(4, 3));
        values2.add(new PointValue(5, 2));
        values2.add(new PointValue(6, 1));
        values2.add(new PointValue(7, 5));
        Line line2 = new Line(values2).setColor(Color.BLUE).setCubic(true);
        // 4
        List<Line> lines = new ArrayList<Line>();
        lines.add(line);
        lines.add(line2);
        data.setLines(lines);
        mChartView.setLineChartData(data);

        // 设置不让放大(手势放大)
        mChartView.setZoomEnabled(false);

效果
这里写图片描述


柱状图 Column Chart

  <lecho.lib.hellocharts.view.ColumnChartView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:id="@+id/columnchart"
         />

Activity


        // 1
        ColumnChartView mColumnChartView = (ColumnChartView) findViewById(R.id.columnchart);
        // 2
        ColumnChartData mChartData = new ColumnChartData();
        // 3
        List<Column> columns = new ArrayList<Column>();
        List<SubcolumnValue> values = new ArrayList<SubcolumnValue>();
        // 柱状的高度,颜色
        values.add(new SubcolumnValue(1,Color.RED));
        values.add(new SubcolumnValue(2,Color.BLUE));
        values.add(new SubcolumnValue(3,Color.YELLOW));
        values.add(new SubcolumnValue(4,Color.GREEN));
        Column column = new Column(values);
        // 4
        columns.add(column);
        mChartData.setColumns(columns);
        mColumnChartView.setColumnChartData(mChartData);

效果

这里写图片描述


饼图 Pie chart

xml

 <lecho.lib.hellocharts.view.PieChartView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:id="@+id/piechart"
       />

Activity

// 1
        PieChartView mPieChartView = (PieChartView) findViewById(R.id.piechart);
        // 2
        PieChartData data = new PieChartData();
        // 3 比例,颜色
        List<SliceValue> values = new ArrayList<SliceValue>();
        values.add(new SliceValue(1, Color.RED));
        values.add(new SliceValue(2,Color.BLUE));
        values.add(new SliceValue(3,Color.YELLOW));
        values.add(new SliceValue(4,Color.GREEN));

        // 4
        data.setValues(values);
        mPieChartView.setPieChartData(data);

效果
这里写图片描述


气泡图 Bubble chart

xml

  <lecho.lib.hellocharts.view.BubbleChartView
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:id="@+id/bubblechart"
           /> 

Activity

    // 1
        BubbleChartView mBubbleChartView = (BubbleChartView) findViewById(R.id.bubblechart);
        // 2
        BubbleChartData data = new BubbleChartData();
        // 3
        List<BubbleValue> mBubbleValues = new ArrayList<BubbleValue>();
        mBubbleValues.add(new BubbleValue(0, 3, 1, Color.RED));//(x,y,z,color) z=大小
        mBubbleValues.add(new BubbleValue(1, 1, 1, Color.YELLOW));
        mBubbleValues.add(new BubbleValue(2, 2, 2, Color.BLUE));
        mBubbleValues.add(new BubbleValue(3, 5, 3, Color.GREEN));
        mBubbleValues.add(new BubbleValue(4, 4, 2, Color.LTGRAY));
        // 4
        data.setValues(mBubbleValues);
        data.setBubbleScale(1.0f); // 缩放尺寸
        mBubbleChartView.setBubbleChartData(data);

        // 不让点击放大
        mBubbleChartView.setZoomEnabled(false);

效果
这里写图片描述


坐标轴 AXIS

Activity

// 1 
        LineChartView mChartView = (LineChartView) findViewById(R.id.linechart);
        // 2
        LineChartData data = new LineChartData();
        // 3
        List<PointValue> values = new ArrayList<PointValue>();
        values.add(new PointValue(0, 1));
        values.add(new PointValue(1, 3));
        values.add(new PointValue(2, 2));
        values.add(new PointValue(3, 4));
        values.add(new PointValue(4, 3));
        values.add(new PointValue(5, 2));
        values.add(new PointValue(6, 1));
        values.add(new PointValue(7, 5));
        Line line = new Line(values).setColor(Color.RED).setCubic(true);


        // 4
        List<Line> lines = new ArrayList<Line>();
        lines.add(line);
        data.setLines(lines);
        mChartView.setLineChartData(data);

        // 坐标轴
        List<AxisValue> axisValues = new ArrayList<AxisValue>();
        axisValues.add(new AxisValue(0));
        axisValues.add(new AxisValue(1));
        axisValues.add(new AxisValue(2));
        axisValues.add(new AxisValue(3));
        axisValues.add(new AxisValue(4));
        axisValues.add(new AxisValue(5));
        axisValues.add(new AxisValue(6));
        axisValues.add(new AxisValue(7));
        axisValues.add(new AxisValue(8));
        Axis axis = new Axis(axisValues);
        // 小数
        axis.setAutoGenerated(true);
        // 网格
        axis.setHasLines(true);
        // 斜体
        axis.setHasTiltedLabels(true);
        // 坐标轴名字
        axis.setName("axis");
        // 
        data.setAxisXBottom(axis);
        data.setAxisYLeft(axis);

效果
这里写图片描述


/////TO BE CONTINUE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值