Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/whataa/SuitLines
[DEPRECATED]一个小巧且高效的线性图表组件。
https://github.com/whataa/SuitLines
android linechart linegraph view
Last synced: about 1 month ago
JSON representation
[DEPRECATED]一个小巧且高效的线性图表组件。
- Host: GitHub
- URL: https://github.com/whataa/SuitLines
- Owner: whataa
- Created: 2017-04-08T16:12:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-09T03:36:25.000Z (over 6 years ago)
- Last Synced: 2024-08-03T01:25:06.094Z (4 months ago)
- Topics: android, linechart, linegraph, view
- Language: Java
- Homepage:
- Size: 99.6 KB
- Stars: 869
- Watchers: 21
- Forks: 138
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-github-android-ui - SuitLines - 小巧且高效的线性图表组件 (图表(Chart))
README
SuitLines [ ![Download](https://api.bintray.com/packages/yanglssc/maven/suitlines/images/download.svg?version=1.0.0) ](https://bintray.com/yanglssc/maven/suitlines/1.0.0/link)
======================suitline是一个小巧且高效的线性图表组件。
![image](http://note.youdao.com/yws/api/personal/file/10C1FEB88C5B43B28CCF8164EED2ACD3?method=download&shareKey=585959eab979d7470444426d28ea5cf9)
![image](http://note.youdao.com/yws/api/personal/file/66EB80D81F3A43BAA0B917D4B36275BF?method=download&shareKey=70db0d503ec790dfdab955e4366f8de7)![image](http://note.youdao.com/yws/api/personal/file/C24FFB56C0F944E9AF4332357F33F09C?method=download&shareKey=156bb9a08b3f4f4d6ae8f5ddac4607fb) ![image](http://note.youdao.com/yws/api/personal/file/CC73337B96A94DA493D6B8E27F9103D7?method=download&shareKey=d0115a84957acf8bba265058460a63d9)
## 更新历史
- 2018/7/9
> 从本次提交开始,不再支持通过compile形式集成,建议直接拷贝源码到项目,方便自定义;
1. 修复被detach的情况下,重新attach到View时没有绘制的情况;
2. 支持显示y为负数的情况;
3. 新增y轴刻度辅助线显示,通过方法`setShowYGrid(boolean showYGrid)`开启或关闭;- 2017/5/21(v1.1.0)
1. 修复BUG:#1,#7;
2. 新增FILL形态时显示图表上边框线的属性coverLine,具体效果已添加至demo,通过方法`setCoverLine(boolean enable)`开启或关闭;## 功能特性
suitline基于实用性目的而打造,相较于其它图表库,suitlines在多线段、性能体验以及视觉反馈等几个方面进行了支持和优化,使其更适合用于实际项目中。suitLines的所有特性如下:- 可以为line指定一或多种颜色;
- 支持多条line;
- 支持线段 / 曲线 / 虚线 相互切换;
- 支持边缘拖动反馈效果;
- 支持y轴自定义分隔区间、x轴自定义文本;
- 支持点击反馈;
- 美而不腻的动画;
## 使用步骤
> 注意:SuitLines需要项目的 API >= 14
### 1.集成
- ~~第一种:通过build.gradle方式集成~~ **[DEPRECATED]**
```groovy
compile 'tech.linjiang:suitlines:1.1.0'
```- 第二种:直接下载源文件到项目。(**推荐**)
由于所有的逻辑代码都在`SuitLines.java`中且拥有丰富的注释,所以可以方便地按照实际业务需求来调整或改造。
### 2.在xml布局中调用:
``````
所有可静态配置的属性如上,以下是其对应的动态设置方法及其它API:静态属性 | 对应API | 说明
---|---|---
xySize | setXySize | xy轴文字大小
xyColor | setXyColor | xy轴文字的颜色,包含轴线
lineType | setLineType | 指定line类型:CURVE / SEGMENT(曲线/线段)
Style | setLineStyle | 指定line的风格:DASHED / SOLID(虚线/实线)
needEdgeEffect | disableEdgeEffect | 关闭边缘效果,默认开启
colorEdgeEffect | setEdgeEffectColor | 指定边缘效果的颜色,默认为Color.GRAY
needClickHint | disableClickHint | 关闭点击提示信息,默认开启
colorHint | setHintColor | 设置提示辅助线、文字颜色
maxOfVisible | / | 一组数据在可见区域中的最大可见点数,至少>=2
countOfY | / | y轴刻度数,至少>=1
/ | setLineSize | 设置line在非填充形态时的大小
/ | setLineForm | 设置line的形态:是否填充,默认为false
/ | setCoverLine | 设置当line是FILL形态时,是否现在上边框线,默认false### 3.填充数据
对于一条line,可以直接调用feed或feedWithAnim方法:
```
List lines = new ArrayList<>();
for (int i = 0; i < 14; i++) {
lines.add(new Unit(new SecureRandom().nextInt(48), i + ""));
}
suitLines.feedWithAnim(lines);
```
如果是多条数据,则需要通过Builder来实现:
```
SuitLines.LineBuilder builder = new SuitLines.LineBuilder();
for (int j = 0; j < count; j++) {
List lines = new ArrayList<>();
for (int i = 0; i < 50; i++) {
lines.add(new Unit(new SecureRandom().nextInt(128), "" + i));
}
builder.add(lines, new int[]{...});
}
builder.build(suitLines, true);
```## 说明
感谢star或fork,若需要了解具体实现,请直接clone本工程,源码拥有丰富的注释说明。
有任何Bug或建议欢迎提issue或pull request,或者直接 [反馈给我]([email protected]).
## License
Apache 2.0