GithubHelp home page GithubHelp logo

lchart's Introduction

LChart

这是一个折线图框架,它提供了几个非常实用的功能,简单易用。

功能特色

  1. 支持缩放,拖拽
  2. 支持多条数据线
  3. 支持预览模式:预览图谱
  4. 支持点击数据点时的十字高亮与数值提示
  5. 支持高亮点的左右移动
  6. 支持添加预警线
  7. 支持实时数据的添加
  8. 有效的处理滑动冲突
  9. 折线展现上的动画效果

效果展示

基本使用

添加依赖

compile 'com.linheimx.library:lchart:1.2.6'

给LineChart添加数据

// step1: 设置x,y轴
XAxis xAxis = lineChart.get_XAxis();
xAxis.set_unit("单位:s");
xAxis.set_ValueAdapter(new DefaultValueAdapter(1));

YAxis yAxis = lineChart.get_YAxis();
yAxis.set_unit("单位:m");
yAxis.set_ValueAdapter(new DefaultValueAdapter(3));// 默认精度到小数点后2位,现在修改为3位精度

// step2: 为一条数据线添加数据
Line line = new Line();
List<Entry> list = new ArrayList<>();
list.add(new Entry(1, 5));
list.add(new Entry(2, 4));
list.add(new Entry(3, 2));
list.add(new Entry(4, 3));
list.add(new Entry(10, 8));
line.setEntries(list);

// step3: 将数据放到 lineChart上
Lines lines = new Lines();
lines.addLine(line);

lineChart.setLines(lines);

项目分析

博客地址:http://www.jianshu.com/p/d03ff80ad508

欢迎反馈问题,我会尽力来解决的,希望我们会做的更好 : )

lchart's People

Contributors

linheimx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lchart's Issues

你好,最近在用的时候发现可能是个bug。

错误提示:
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:829)
at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
at com.linheimx.app.library.render.LineRender.onChartSizeChanged(LineRender.java:60)
at com.linheimx.app.library.charts.LineChart.onSizeChanged(LineChart.java:224)
at android.view.View.sizeChange(View.java:17187)
at android.view.View.setFrame(View.java:17149)
at android.view.View.layout(View.java:17040)

错误定位是在 LineRender.java类中的

public void onChartSizeChanged(int w, int h) {
_drawBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
softwareCanvas.setBitmap(_drawBitmap);
}
原因大概是 传入给Bitmap参数前,进行下width、height的判断,必须大于0。
这个问题一般不会出现,只是我的布局比较特殊所以会出现错误。

修改后
public void onChartSizeChanged(int w, int h) {
if (w>0&&h>0){
_drawBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
softwareCanvas.setBitmap(_drawBitmap);
}
}

以上意见仅供参考!

你好

有相关的设计图吗,用例图流程图之类的,方面新手深入了解

关于单位和显示的问题

您这个项目的单位显示是怎么弄的,初始的单位是最小单位吗?我给添加了50条数据,数据就挤在一块成了一条棍,但是x轴的显示还是5个单位,怎么让直接显示最小的单位,只让他能滑动,不去缩放呢?

关于轴坐标的问题

怎么去改变轴坐标的字体颜色,大小,初始是蓝色
还有能修改轴文字类型吗,譬如12修改成12个月(double-》》String)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.