使用xcl图表库简单实现android不平均点折线图绘制

XCL-Charts基于Android原生Canvas来绘制各种图表,使用简便,定制灵活。它可以实现各种复杂的折线图表,但是网上的大多文章不够详细,像折线图上的字体是可以根据不同手机分辨率进行动态配置的,可以用如下的代码实现的:

int size = (25* ScreenUtils.getScreenHeight(mContext)) /1080;

chart.getCategoryAxis().getTickLabelPaint().setTextSize(size);

chart.getDataAxis().getTickLabelPaint().setTextSize(size);

这在画图时我走了不少的弯路。

现在我用不平均点图表(不平均点就是例如一天24个小时,但是数据是6点,8点有,其它点没有,这两个点需要直接连接,但横轴上其它点是没有数据的,横轴上没有数据的点依然标出来,不像平均点绘图,平均点绘图横轴上只显示有数据的点)举个例子

本例子按照在布局文件中自定义view的方式讲解:

1.刚开始没有数据,创建完后需要这样传入dataSeriesTemp=newSplineData("",null,

Color.parseColor("#81c784"));这样做的好处是右边的标签可以自己在布局文件上绘出。

2.等到有数据时可以使用dataSeriesTemp.setLineDataSet(linePoint);

this.invalidate();这个进行刷新。

本例采用mvp结构,ITemperatureData,ITemperatureDataImpl是实现数据接口的地方。ITemperatureView是view层传递参数的地方,mainactivity里面有个TemperatureDataPresenter来沟通view层和数据层的数据连接。详细可以看代码demo

效果如图:


代码下载地址:https://github.com/xtfgq/XclNofixedDemo.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容