基于AChartEngine绘制股票走势图----分时图二(五日,涨跌涨跌幅)

来源:互联网 发布:产品样本制作软件 编辑:程序博客网 时间:2024/05/01 17:35

图表添加开盘,涨跌,涨跌幅等参数

XY轴坐标值

  • 根据不同场景,y轴坐标要展示不同的数值,颜色,分时五日有颜色红绿,k线统一灰黑色,之前通过最大最小值转换获取时价,成交量的区间值;
  • 需要注意的是过滤NaN和isInfinite,图表绘制成交量时也要考虑0和最大最小成交量相等和无效的情况;
  • 五日图需要处理1205个点,一天240条,数据筛选和处理可以在modle中处理,StockChart分发图形绘制,GraphicView为顶层绘制对象,中间会有一个把值转换成坐标点的算法;
  • 五日和分时的均线算法,也在添加数据源的时候计算;
    五日图

图标绘制的各个参数设置:

//top,left,bottom,right            renderer.setMargins(new int[]{LcfDisplayUtil.dp2px(15),                    LcfDisplayUtil.dp2px(5), LcfDisplayUtil.dp2px(5), LcfDisplayUtil.dp2px(lineType == LineType.FIVE ? 15 : 5)});            renderer.setLabelsTextSize(LcfDisplayUtil.sp2px(10));            renderer.setBackgroundColor(0x00000000);            renderer.setApplyBackgroundColor(true);            renderer.setPanEnabled(false);            renderer.setZoomButtonsVisible(false);            renderer.setZoomEnabled(false, false);            renderer.setShowLegend(false);            renderer.setInScroll(true);            renderer.setBarSpacing(0);            renderer.setShowTickMarks(false);            renderer.setXLabelsColor(0xFF666666);            renderer.setYLabelsAlign(Paint.Align.LEFT);
  • 设置图标间距,背景色,panEnabled是否可移动,zoomEnabled是否可缩放,两个参数表示xy轴的缩放,zoomButtonsVisible表示的是缩放按钮,barSpacing柱状点的间距,legend表示xy坐标文字标题,tickMarks是否在point上显示当前坐标值;
  • 股指的红绿算法,有很多种,比较当前成交量和上个成交量的大小来比较,或者根据上一个成交价比较红绿;
    分时需要注意的事,线是根据上一个收盘价的值波动的,所以中间值显示昨收,最高最低显示今天最高最低,动态变化;
  • 五日的波动线根据五日来的最高最低的平均价,考虑五日并不是每日都有值,需要考虑在图标模型中单独存放数组变量来记录五日的日期,中间有空的用NAN的数据格式表示,绘制是过滤留空;

项目地址:https://github.com/JiangYueA/android_aps

0 0