返回顶部
首页 > 资讯 > 后端开发 > Python >基于RecyclerChart的KLine绘制详解
  • 431
分享到

基于RecyclerChart的KLine绘制详解

RecyclerChart KLine绘制RecyclerChart KLine 2023-03-03 08:03:55 431人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本章节是KLine的绘制的第二章节,在原来的基础上绘制5、10、20日均线。下面是gif的效果。 其实只是把线性图表的绘制逻辑搬到这边一起,上篇文章提到在一个For循环里处理,减少

本章节是KLine的绘制的第二章节,在原来的基础上绘制5、10、20日均线。下面是gif的效果。

其实只是把线性图表的绘制逻辑搬到这边一起,上篇文章提到在一个For循环里处理,减少遍历,之前是通过Entry的Y值找对应的PointF的Y值,这里需要用StockEntry中的5日、10日、20日均线值去求值。就是类似的一些逻辑替换,思想还是不变,然后左右边界的处理暂时先放一放,滑动到边界会有一些bug。

同时,这里的均值没有参与到图表YAxis的Max、min的计算中去,会有线出上下边界的情况,待修复。

整体的绘制思想还是比较简单的,代码如下:

然后就是5/10/20均线点的绘制,这里值最好Server返回,或者计算好存入数据库,然后图表每次绘制时从数据库里读取数据。所以这三个值,跟绘制没有关联。

用一个滑动窗口的管理类,外加一个队列,在原来的一次遍历的基础上处理完:

    var queue:Queue<Float> = LinkedList()
    var sum:Float = 0f
    fun queueAddItem(value:Float){
        queue.offer(value)
        sum += value
    }
    fun queueRemoveItem(){
       val value = queue.poll()
        value?.let {
            sum -= value
        }
    }
    fun getAvg(type:Int, value: Float): Float{
        queueAddItem(value)
        val count = queue.size
        if (count < type){
            return value
        }else if (count == type){
            val avg = sum/count
            queueRemoveItem()
            return avg
        }
        return -1f
    }
}

接下来会处理底部的成交量图以及其它的一些底部图表;之前的方式是通过两个Chart表的联动处理,看见网上有MPChartAndroid的类似的也是这样处理的。绘制均线的过程中想到为什么不一起画呢?同样可以在上面的那个for循环里一起画了,然后就不存在两表的联动问题了。只不过多了一个工作就是,需要处理两个YAxis,同时,底部点YAxis也要实时地计算Max、Min, 然后联动图表。

再就是缩放,上一章节提到的,其实只需缩放后,按比例计算当下的DisplayNumber,然后再invalidate(), 这里的话就是Adapter.notifyDatachange()应该就Okay了,本章节暂时先到此。

到此这篇关于基于RecyclerChart的KLine绘制详解的文章就介绍到这了,更多相关RecyclerChart KLine内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于RecyclerChart的KLine绘制详解

本文链接: https://lsjlt.com/news/198313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于RecyclerChart的KLine绘制详解
    本章节是KLine的绘制的第二章节,在原来的基础上绘制5、10、20日均线。下面是gif的效果。 其实只是把线性图表的绘制逻辑搬到这边一起,上篇文章提到在一个For循环里处理,减少...
    99+
    2023-03-03
    RecyclerChart KLine绘制 RecyclerChart KLine
  • 基于RecyclerChart的KLine绘制Volume实现详解
    目录正文创建AttacheChart YAxisAttache Chart绘制正文 本章节是基于RecyclerChart的KLine 绘制第三章节,底部AttacheChart ...
    99+
    2023-03-03
    RecyclerChart KLine绘制Volume RecyclerChart KLine绘制
  • 基于RecyclerChart的KLine怎么绘制
    本篇内容主要讲解“基于RecyclerChart的KLine怎么绘制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于RecyclerChart的KLine怎么绘制”吧!下面是gif的效果代码如...
    99+
    2023-07-05
  • 基于RecyclerChart的KLine怎么绘制Volume
    这篇文章主要介绍“基于RecyclerChart的KLine怎么绘制Volume”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于RecyclerChart的KLine怎么绘制Volume”文章能帮...
    99+
    2023-07-05
  • 基于RecyclerChart的KLine如何绘制Scale
    这篇文章主要介绍“基于RecyclerChart的KLine如何绘制Scale”,在日常操作中,相信很多人在基于RecyclerChart的KLine如何绘制Scale问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-05
  • RecyclerChart的KLine如何绘制
    本篇内容主要讲解“RecyclerChart的KLine如何绘制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“RecyclerChart的KLine如何绘制”吧!StockValueFormat...
    99+
    2023-07-05
  • 基于Echart实现折线图的绘制详解
    效果图 不显示折线图上的拐点方法 ,3个都可以使用,代码中有显示在什么位置使用。 symbolSize:0, symbol:“none”, showSymb...
    99+
    2024-04-02
  • 基于Python绘制世界疫情地图详解
    世界疫情数据下载请点击》》:疫情数据下载 注:此数据是2022年3月12号的结果,其中透明的地方代表确诊人数小于10万人,白色的地方代表无该国家的数据。 最终效果: 下载需要的p...
    99+
    2024-04-02
  • 基于Matlab绘制超绚丽的烟花的过程详解
    目录1.使用效果2.随机点生成3.图像膨胀4.特效「风」模拟5.级坐标变换6.图像模糊及再映射7.图像上色8.完整代码1.使用效果 2.随机点生成 我们要构造一个黑色背景,对其添...
    99+
    2024-04-02
  • 基于Python绘制3D立体爱心图案的示例详解
    目录原理点画法(实心)代码运行效果点画法(空心)代码运行效果折线画法 (线团)代码运行效果等高线画法(线框)代码运行效果原理 1.使用python中的mtplotlib库。 2.立体...
    99+
    2022-11-16
    Python绘制3D立体爱心 Python绘制3D爱心 Python 3D 爱心
  • 详解Matlab如何绘制桑基图
    目录详细用法1使用示例2输入参数3输出函数完整代码使用示例代码这次主要是分享自己写的一个函数,用来绘制桑基图,效果大概是下面这样子: 先说明函数(sankey2)怎么用,函数完...
    99+
    2024-04-02
  • 详解如何基于Pyecharts绘制常见的直角坐标系图表
    目录1.直方图2.折线图3.箱形图4.散点图5.带涟漪效果散点图6.k线图7.热力图8.象型图9.层叠图总结1.直方图 # -*-coding:utf-8 -*- # @Time :...
    99+
    2024-04-02
  • 基于Pythonmatplotlib库绘制箱线图
    目录1. 关于箱线图 及 plt.boxplot()方法2. 绘制一幅简单的箱线图3. 绘制一幅更精致的图像4. 异常值的标准5. 异常值的输出1. 关于箱线图 及 plt.boxp...
    99+
    2024-04-02
  • 基于Cesium如何绘制栅栏
    这篇文章主要介绍“基于Cesium如何绘制栅栏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Cesium如何绘制栅栏”文章能帮助大家解决问题。最终效果创建 dynamicWallMaterial...
    99+
    2023-06-30
  • 基于Matlab实现山脊图的绘制
    目录纯色山脊图模板渐变色山脊图模板写了一个用于绘制山脊图的模板,仅需要往需要填写数据的区域填入数据点击运行即可,以下提供两款模板,第一款为纯色模板而第二款为渐变色模板: 纯色山脊图模...
    99+
    2024-04-02
  • OpenCV 基本图形绘制函数详解
    用于绘制直线的line函数; 用于绘制椭圆的ellipse函数; 用于绘制矩形的rectangle函数; 用于绘制圆的circle函数; 用...
    99+
    2024-04-02
  • Python绘制惊艳的桑基图的示例详解
    目录桑基图简介什么是桑基图如何绘制桑基图桑基图绘图基础调整节点位置和图表宽度添加有意义的悬停标签桑基图简介 很多时候,我们需要一种必须可视化数据如何在实体之间流动的情况。例如,以居民...
    99+
    2024-04-02
  • python基于turtle绘制几何图形
    目录1. 什么是turtle2. turtle例子3. 其他turtle功能4. 更多的例子5. 总结6. 参考资料1. 什么是turtle turtle模拟了人在画布前画画的过程:给你一支笔(Pen), 下笔(pe...
    99+
    2022-06-02
    python turtle python 绘图
  • 基于Python绘制520表白代码
    目录一、绘制成品二、绘制代码1.导入库2.选择背景音乐3.绘制心的外轮廓4.填充心并写告白信5.画心动线一、绘制成品 二、绘制代码 实现本文效果的整体思路是:加载库—选...
    99+
    2024-04-02
  • C语言基于EasyX绘制时钟
    本文实例为大家分享了C语言基于EasyX绘制时钟的具体代码,供大家参考,具体内容如下 函数说明: void line(     int x1,     int y1,     int...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作