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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值