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);
效果