使用anvas实现线图的左右拖动前言线图是股票分析中非常常见的一种图表形式,它能够直观地反映股票的价格变化趋势。

K线图是股票分析中非常常见的一种图表形式,它能够直观地反映股票的价格变化趋势。而在实现K线图的过程中,左右拖动是一个非常重要的功能,可以让用户在不同的时间段内查看股票价格的变化。本文将介绍如何利用canvas实现K线图的左右拖动以及十字光标功能思路。

首先在上canvas上绑定移动事件。

定义一个起始索引值startIndex,以及可视区间内的条目数visibleNum,二者组合起来构成了一个区间。在touchMove事件中,增加了一个延迟时间,只有在按住一定毫秒数后才开始响应拖动操作。这样做的目的是为了避免手指轻触即触发拖动操作。

上面的代码中如果手指微微一拖就会快速拖动导致很难控制到我们想拖到的区间,现在来开始改造降低拖动灵敏度。

在计算滑动距离时,乘以一个小于 1 的系数,这样可以减缓滑动速度,从而增加滑动阻力,从而降低了灵敏度。

如果拖到头了或者拖到尾了就得保留当前位置,不能继续拖动。

由于拖动和十字架的处理都在touchMove事件中,需要进行区分,以避免两者同时触发。我的处理思路是,如果用户长按住不动,则显示十字架;如果用户按住并拖动,则执行拖动操作。当显示十字架时,当用户松开手指后,会进行画布的清空操作。

十字架绘制

绘制十字架时,需要频繁清空画布以实现十字架随手指移动的效果。但频繁的清空重绘会导致移动时出现卡顿。实际上,在绘制十字架时,日K、成交量、均线等是不会发生变化的,因此不需要清空重绘它们,只需要清空十字架即可。这样就能减少无意义的清空重绘,提高移动时的流畅性。

为了将变与不变的情况分离,我们可以使用两个canvas进行叠加。日K、成交量、均线等绘制在canvas1上,而十字架则绘制在canvas2上。当触发十字架时,只需要清空重绘canvas2即可,而拖动k线时也不需要处理十字架的画布。这种方式能够有效减少不必要的操作,提高移动的性能。

THE END
0.股票数据分析(五):绘制股票k线图(js+canvas+Python+json本文介绍:利用 js+canvas 绘制股票k线图 HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript)。 不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。 我们在股票数据分析(三):Python(Tushare) 交易信息返回json格式,供前端使用中已经简单介绍了获取 jvzquC41yy}/lrfpuj{/exr1r1=c3lfdh37c6m
1.通达信如何用鼠标快速移动和缩放K线图(图解)拾荒网1.Ctrl +0(数字零) 可以实现“十字光标”与“抓手”的快速切换,“抓手”可以随意拖动K线图左右、上下移动。 2.右键一直按住屏幕底部的时间标尺,可以左右平移K线图。 3.左键一直按住屏幕底部的时间标尺,可以缩放K线。 4.按住Ctrl键,再用鼠标滚轮,可以缩放K线。拾荒网。jvzq<8432j{bpp3ep1rfxnq41571:>3jvor
2.ok易欧官网下载安装ok易欧官网最新版v6.90.02. 如何切换全屏图表模式? 选择ok易欧官网最新版app图表上的扩展按钮,选择放大选项将交易图表最大化,双击屏幕。 3.K线颜色自定义功能怎么设置? ok易欧官网最新版app已支持 K 线颜色自定义,范围包括:指标、画线、蜡烛,K线支持画图形在原生版K线画矩形、三角形、圆形,支持拖拽和编辑。 用户可通过【设置】-【式样jvzquC41yy}/uqfpihkodjt0eqs0cyu134?587mvon
3.看k线图时,不能通过鼠标滚轮放大缩小和鼠标拖动吗?找了想问一下,东方财富pc版,看k线图时,不能通过鼠标滚轮放大缩小和鼠标拖动吗?找了半天,没看到如何设置,也搜不到答案?举报 郑重声明:用户在社区发表的所有信息将由本网站记录保存,仅代表作者个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。请勿相信代客理财、免费荐股和炒股培训等宣传内容,远离jvzquC41iwhb0nfuvouog‚3eqo5og€x.iuy{.:838299:A:.|0nuou
4.EchartsK线图控制Y轴上面线的个数方法echarts控制坐标轴刻度个数本文介绍了如何在Echarts的K线图中控制Y轴辅助线的数量,使其在滑块拖动时保持不变。通过监听'datazoom'事件,获取滑块的起始和结束值,遍历数据数组找到该区间内的最大最小值,从而实现Y轴刻度的固定。 在echarts中K线图默认的当下面的滑块拖动时,y轴的辅助线是一直变化的,下面简单说下如何固定辅助线的个数 myChart.on(jvzquC41dnuh0lxfp0tfv8jcpmiwjnmwp5bt}neng5eg}fknu58;<=366<
5.数据可视化图表k线图怎么画|帆软数字化转型知识库二、FINEREPORT的K线图绘制 FineReport是一款专业的报表工具,适合需要复杂报表和多样化数据展示的场景。用户在FineReport中绘制K线图的步骤与FineBI类似,但FineReport提供了更多的报表设计功能。首先,用户需要将数据导入FineReport,创建一个新的报表。然后,在报表中插入一个K线图组件,并将数据字段拖动到相应的位置。FineReportjvzquC41yy}/hjstwct/exr1dnuh1jwvkerf1::827:0
6.文华财经个性化设置选项4:“等比标注”,以K线图上最后一根K线收盘价为基准,向上和向下等比递增/减价位显示坐标,如下图。 注: 切换线性和对数坐标的热键为:Alt+L; K线图上坐标线间距划分方法:个性化设置->更多K线图设置2->调整坐标线间距(2/3/4根网格线)。 2、坐标区显示开关 jvzquC41yy}/sqfum0ipo8{kgy4qjyDkf?G16A72/;<32B:/H2H76=2CEG6FC6<4E4I19L
7.如何在通达信软件中设置K线图的支撑位和阻力位指标?5. 选定工具后,您可以在K线图上点击并拖动以设定支撑位和阻力位。 需要注意的是,支撑位和阻力位的jvzquC41yy}/|qniwh4dqv4swgyukxsuafkucrq19:848B9
8.东方财富K线平移技巧,鼠标拖动代替箭头用东方财富看K线的时候,按住鼠标中间那个滚轮,然后往左右拖就行了,比用左右箭头快多了,习惯了根本不jvzquC41cuq/|xq0eqs/ew4z1563;=>450nuou
9.如何操作k线图?放大k线图有什么方法?如何操作k线图?放大k线图有什么方法? 在金融投资领域,K线图是一种重要的技术分析工具,熟练操作K线图并掌握放大K线图的方法,对于投资者准确分析市场行情、做出合理投资决策至关重要。下面为大家详细介绍相关操作方法。 操作K线图的第一步是理解其基本构成。K线图由实体和影线组成,实体代表开盘价和收盘价之间的价格区间jvzquC41o0nfz~s0eqs0u}tem1814>228/641;6;5:777;3jvor