|
1 | | -## 项目介绍 |
| 1 | +## SimpleChartView说明 |
2 | 2 |
|
3 | 3 | 简介:一个可以显示折线图, 树状图 的简单图表UI控件, 可以设置刻度标识位置, 支持同时显示多个数据. |
4 | 4 | 图表大部分属性均可以设置, 如 刻度线颜色,宽度, 颜色等属性 |
5 | 5 |
|
6 | | - |
7 | | -## 效果展示 |
| 6 | +## 效果示例 |
8 | 7 |  |
9 | 8 |
|
10 | 9 | ## APP下载体验 |
11 | 10 | [下载](https://github.com/yuxiangxin/SimpleChartView/blob/master/ext/SimpleChart.apk) |
12 | 11 |
|
| 12 | +### 调用示例代码 |
13 | 13 |
|
14 | | -在布局中 |
15 | | - |
16 | | - <me.yu.charview.ChartView |
17 | | - android:layout_width="match_parent" |
18 | | - android:layout_height="wrap_content" |
19 | | - android:layout_marginTop="10dp" |
20 | | - android:paddingTop="15dp" |
21 | | - app:axis_align="SINGLE_LEFT|SINGLE_RIGHT|LEFT_RIGHT" // 设置刻度标识位置,默认靠左 |
22 | | - app:axis_line_color="#000" |
23 | | - app:axis_line_count="6" |
24 | | - app:axis_line_height="1px" |
25 | | - app:axis_text_color="#252525" |
26 | | - app:axis_text_size="10dp" |
27 | | - app:axis_text_width="20dp" |
28 | | - app:axis_texts_margin="10dp" |
29 | | - app:bottom_height="15dp" |
30 | | - app:item_parent_margin="10dp" /> |
31 | | - |
32 | | - |
33 | | -设置示例 |
| 14 | +```xml |
| 15 | +<me.yu.charview.ChartView |
| 16 | + android:layout_width="match_parent" |
| 17 | + android:layout_height="wrap_content" |
| 18 | + android:layout_marginTop="10dp" |
| 19 | + android:paddingTop="15dp" |
| 20 | + app:axis_align="SINGLE_LEFT|SINGLE_RIGHT|LEFT_RIGHT" // 设置刻度标识位置,默认靠左 |
| 21 | + app:axis_line_color="#000" |
| 22 | + app:axis_line_count="6" |
| 23 | + app:axis_line_height="1px" |
| 24 | + app:axis_text_color="#252525" |
| 25 | + app:axis_text_size="10dp" |
| 26 | + app:axis_text_width="20dp" |
| 27 | + app:axis_texts_margin="10dp" |
| 28 | + app:bottom_height="15dp" |
| 29 | + app:item_parent_margin="10dp" /> |
| 30 | +``` |
34 | 31 |
|
35 | | - private void configMultiChart () { |
36 | | - ArrayList<ItemList> multiAxisData = new ArrayList<>(); |
| 32 | +```java |
| 33 | + private void configMultiChart () { |
| 34 | + ArrayList<ItemList> multiAxisData = new ArrayList<>(); |
37 | 35 |
|
38 | | - // 构造圆角为4dp的的树状图 |
39 | | - ItemList.TreeInfo treeInfo = new ItemList.TreeInfo(dp2px(4), true); |
40 | | - ArrayList<Item> floatDatas = new ArrayList<>(); |
41 | | - float min = 0; |
42 | | - float max = 1F; |
43 | | - for (int i = 0; i < 7; i++) { |
44 | | - floatDatas.add(new Item("10/" + i, random.nextFloat())); |
45 | | - } |
46 | | - ItemList treeFloat = new ItemList(treeInfo, floatDatas); |
| 36 | + // 构造圆角为4dp的的树状图 |
| 37 | + ItemList.TreeInfo treeInfo = new ItemList.TreeInfo(dp2px(4), true); |
| 38 | + ArrayList<Item> floatDatas = new ArrayList<>(); |
| 39 | + float min = 0; |
| 40 | + float max = 1F; |
| 41 | + for (int i = 0; i < 7; i++) { |
| 42 | + floatDatas.add(new Item("10/" + i, random.nextFloat())); |
| 43 | + } |
| 44 | + ItemList treeFloat = new ItemList(treeInfo, floatDatas); |
47 | 45 |
|
48 | | - // 设置图表刻度指示靠左, float类型, 显示范围 |
49 | | - treeFloat.setAxis(ItemList.AxisAlign.LEFT, ItemList.AxisValueType.FLOAT, max, min); |
50 | | - // 设置主要颜色 |
51 | | - treeFloat.setColor(0xFF3AFFDB); |
52 | | - multiAxisData.add(treeFloat); |
| 46 | + // 设置图表刻度指示靠左, float类型, 显示范围 |
| 47 | + treeFloat.setAxis(ItemList.AxisAlign.LEFT, ItemList.AxisValueType.FLOAT, max, min); |
| 48 | + // 设置主要颜色 |
| 49 | + treeFloat.setColor(0xFF3AFFDB); |
| 50 | + multiAxisData.add(treeFloat); |
53 | 51 |
|
54 | | - // int树状图 |
55 | | - ArrayList<Item> intData = new ArrayList<>(); |
56 | | - int intMin = 0; |
57 | | - int intMax = 100; |
58 | | - for (int i = 0; i < 7; i++) { |
59 | | - intData.add(new Item("10/" + i, random.nextInt(intMax))); |
60 | | - } |
61 | | - ItemList treeInt = new ItemList(treeInfo, intData); |
62 | | - treeInt.setAxis(ItemList.AxisAlign.RIGHT, ItemList.AxisValueType.INT, intMax, intMin); |
63 | | - treeInt.setColor(0xFFC6C5FF); |
64 | | - multiAxisData.add(treeInt); |
| 52 | + // int树状图 |
| 53 | + ArrayList<Item> intData = new ArrayList<>(); |
| 54 | + int intMin = 0; |
| 55 | + int intMax = 100; |
| 56 | + for (int i = 0; i < 7; i++) { |
| 57 | + intData.add(new Item("10/" + i, random.nextInt(intMax))); |
| 58 | + } |
| 59 | + ItemList treeInt = new ItemList(treeInfo, intData); |
| 60 | + treeInt.setAxis(ItemList.AxisAlign.RIGHT, ItemList.AxisValueType.INT, intMax, intMin); |
| 61 | + treeInt.setColor(0xFFC6C5FF); |
| 62 | + multiAxisData.add(treeInt); |
65 | 63 |
|
66 | | - // 构造宽度为2dp,连接点半径为4dp的折线图 |
67 | | - ItemList.LineInfo lineInfo = new ItemList.LineInfo(dp2px(2), dp2px(4)); |
68 | | - ArrayList<Item> lineData = new ArrayList<>(intData); |
69 | | - ItemList lineList = new ItemList(lineInfo, lineData); |
70 | | - // 设置图表刻度线位置靠右, 刻度线值类型int, 最大值和最小值 |
71 | | - lineList.setAxis(ItemList.AxisAlign.RIGHT, ItemList.AxisValueType.INT, intMax, intMin); |
72 | | - lineList.setColor(Color.RED); |
73 | | - lineList.setShowTip(true); |
74 | | - lineList.setTipColor(Color.RED); |
75 | | - lineList.setTipSize(dp2px(12)); |
76 | | - multiAxisData.add(lineList); |
| 64 | + // 构造宽度为2dp,连接点半径为4dp的折线图 |
| 65 | + ItemList.LineInfo lineInfo = new ItemList.LineInfo(dp2px(2), dp2px(4)); |
| 66 | + ArrayList<Item> lineData = new ArrayList<>(intData); |
| 67 | + ItemList lineList = new ItemList(lineInfo, lineData); |
| 68 | + // 设置图表刻度线位置靠右, 刻度线值类型int, 最大值和最小值 |
| 69 | + lineList.setAxis(ItemList.AxisAlign.RIGHT, ItemList.AxisValueType.INT, intMax, intMin); |
| 70 | + lineList.setColor(Color.RED); |
| 71 | + lineList.setShowTip(true); |
| 72 | + lineList.setTipColor(Color.RED); |
| 73 | + lineList.setTipSize(dp2px(12)); |
| 74 | + multiAxisData.add(lineList); |
77 | 75 |
|
78 | | - multiAxisChart.setDatas(multiAxisData); |
79 | | - } |
| 76 | + multiAxisChart.setDatas(multiAxisData); |
| 77 | +} |
| 78 | +``` |
0 commit comments