AndroidMPChart股票图-分时图01

AndroidMPChart股票图-分时图01 - 简书

AndroidMPChart股票图-分时图02 - 简书

AndroidMPChart股票图-K线图01 - 简书

AndroidMPChart股票图-K线图02 - 简书


AndroidMPChart是一款android图表库,它支持线性图,柱子图,蜡烛图和扇形图

前段时间项目用到了AndroidMPChart来画股票图,遇到了一些问题分享下。

分时图:

我们在画分时图要和市面上的分时图很类似,而原始的mp框架无法满足我们的需求,则需要修改源码了。

我们看下下面这个分时图来怎么实现

分时图

我们分析下这个图怎么用mp来画

1.外层有个边框这个mp支持的不需要我们再去修改

2.有三条横向的虚线,mp里也是支持的叫做警戒线(这个类LimitLine)

  2》LimitLine这个类它是画警戒线的

如果我们要在LeftY添加警戒线则是这样的

//第二个参数设置描述则就会显示在左侧的值

LimitLine limitLineMax=new LimitLine("警戒线值",“警戒线描述”);

//是否设置虚线显示

limitLineMax.enableDashedLine(“线的长度”, “间隔”, “偏移量”);

//警戒线右侧显示值

第一步:我们在LimitLine类中定义这个变量并实现set/get方法


添加警戒线右侧标签

第二步:在YAxisRenderer类中的renderLimitLines这个方法里添加


获取右标签值

第三步:还是在这个方法内找到画标签的方法里添加画右标签

注意这里需要判断警戒线的位置我用的LEFT_TOP,LEFT_BOTTOM左上和左下


画标签

设置完成就OK啦,我们回到警戒线里

//设置右边标签值

limitLineMax.setmRightLabel(“右边标签值”);

//设置标签显示在警戒线下方

limitLineMax.setLabelPosition(LimitLine.LimitLabelPosition.LEFT_BOTTOM);

//添加警戒线,3条虚线一样的添加

axisLeft.addLimitLine(limitLine);

3.画x轴的标签

原始mp的x轴标签都会超过最左边和最右边边距,要实现上面的那种效果我们需要设置

xAxis.setAvoidFirstLastClipping(true);

设置这个方法之后最右边的还是有问题我们需要修改源码


改x轴标签

4.画线的阴影填充背景渐变

在Drawable中定义一个渐变色的xml


set.setFillDrawable("获取你定义的xml");

//开启填充

set.setDrawFilled(true);

5.我们在画分手图的时候会有动态画分时图的需求,就是当数据推送一个点的时候画一个点,而不是清空图表从9点30从新画。我们知道股票图一分钟画一个点(共242个点)而一分钟之内则会推送好几个点而取的是这个分钟的最后一个点。我们要的效果就是在这一分钟中推送过来的上下波动到这一分钟完了再去画这个点

//实现在一分钟之内上下波动

1.先获取chartData,


2.然后再根据chartdata获取相应的dataset(每一个set代表一条线)


3.获取当前set的最后一个点索引


4.根据当前set的最后一个索引获取Entry


5.设置Y值

entryForIndex.setY(“推送的Y值”)

6.通知图表刷新数据


//动态添加数据

1,2,3,跟实现在一分钟之内上下波动一样

4.添加到最后一个索引里

dataSetByIndex.addEntry(indexLast,“添加到值”)

5.刷新数据并将图表移动到指定位置

mLineChart.moveViewTo(indexLast,"值",YAxis.AxisDependency.LEFT)


到这里就可以画出上面的图了及动态添加分时图,下篇文章我说说怎么画高亮线。

有问题麻烦提出交流共同学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 开始 ####安装 为了使用 LineChart, BarChart, ScatterChart, CandleS...
    帅气的猪猪阅读 8,443评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • 你是不是觉得写一段故事是个特别麻烦的事儿,你压根都不知道从哪儿开始。 我从《开发故事创意》这本书获得的启发是,没准...
    闻熙阅读 283评论 0 0
  • 一切都在变好。 现有的已经很好了,只是需要整理和清洁一下,拿东西擦擦花盆。把石头里的烟灰弄出来。浇一些水。
    雨季和海风阅读 145评论 2 0
  • 前日迎来寒露, 昨夜凄风残雾。 晨雨降无休, 一步出门三顾。 秋裤, 秋裤, 秋水望穿何处?
    任尔风云我自逍阅读 488评论 6 6