使用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

效果如图:


使用xcl图表库简单实现android不平均点折线图绘制_第1张图片

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

你可能感兴趣的:(使用xcl图表库简单实现android不平均点折线图绘制)