提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2019-07-23 10:13:21.593|阅读 366 次
概述:AnyChart是灵活的高度可定制的跨浏览器、跨平台JavaScript (HTML5) 图表控件。今天的教程是关于JS股票图表的,更确切地说,我们将深入研究如何使用自定义值绘制当前价格指标,并使用Axis Markers使其即使在缩放和滚动时也可见。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
我们的支持团队从客户那里收到了值得关注的值得关注的问题,展示了我们的JavaScript(HTML5)图表库的巨大灵活性,并解释了在AnyChart的帮助下如何准确地解决高级数据可视化任务。今天的教程是关于JS股票图表的,更确切地说,我们将深入研究如何使用自定义值绘制当前价格指标,并使用Axis Markers使其即使在缩放和滚动时也可见。
数据可视化任务
客户希望我们回答的问题如下:
如何使用自定义值可视化CPI(当前价格指标),使其在滚动或缩放时可见?
事实上,您可以使用我们的AnyStock JavaScript库制作这样的股票图表。在AnyChart JS Charts的8.3.0版本中,它收到了新的Axis Marker功能,在这种情况下将有用,即lineMarker() 和 textMarker() 方法。
方案概述
首先,在图表上绘制一个开 - 高 - 低 - 收盘(OHLC)系列。
之后,创建一个具有自定义值的变量,将其传递给行和文本标记,并在滚动和缩放时使它们可见。
轴标记
Axis Markers功能可以轻松创建标记并根据需要进行设置。
这里你需要的第一件事是指定一个这样的自定义值:
var markerValue = 8200;
设置值后,应将其传递给标记的设置:
var lineMarker = plot.lineMarker();lineMarker .value(markerValue) .scaleRangeMode('consider'); var textMarker = plot.textMarker(); textMarker .text(markerValue) .value(markerValue)
上面的代码片段中的 scaleRangeMode('consideration')方法使得在比例计算中考虑标记值,确保无论选择何种数据范围,标记都是可见的。
这是一个JavaScript(HTML5)股票图表,其中包含基于自定义价值的CPI。
基于定制价值的当前价格指标的高级可视化
此外,可以从数据计算自定义值。例如,您可以将其作为最后10个“关闭”值的平均值,从最后一个可见值开始:
// advance the iterator to the next position while (iterator.advance()) { queue.push(iterator.get("close")); // delete all values except the last 10 if (queue.length > 10) { queue.shift(); } var sum = 0; // not enough data - don't draw the axis marker if (queue.length < 10) { value = null; } else { // calculate the marker value for (var i = 0;i < queue.length; i++){ sum = sum + queue[i]; } value = (sum/10).toFixed(2); } } return value; }
由于公式仅包含最后10个值,因此您应设置X标度的最大值和最小值,以便它们正确显示当前价格指标的值:
var max = xScale.getMaximum();var min = xScale.getFullMinimum();
查看下面生成的交互式可视化。您可以根据 您在AnyChart Playground上喜欢的数据的自定义值,使用CPI修改此JS股票图表示例。
完整代码如下:
anychart.onDocumentReady(function () { // create a data table, load and map the data var dataTable = anychart.data.table(); dataTable.addData(get_dji_daily_short_data()); var mapping = dataTable.mapAs({'open': 1, 'high': 2, 'low':3, 'close':4}); // create a stock chart var chart = anychart.stock(); // create a plot var plot = chart.plot(); // create an OHLC series plot.ohlc(mapping).name("Price"); // get the marker value var markerValue = getMarkerValue(); // create a line marker var linemarker = plot.lineMarker(); linemarker .value(markerValue) .stroke('black', 1) .zIndex(100) .scaleRangeMode('consider'); // create a text marker var textMarker = plot.textMarker(); textMarker .text(markerValue||'') .value(markerValue) .align('left') .anchor('left-bottom') .padding(3) .fontColor('black') .zIndex(100); // display the chart chart.container("container").draw(); // recalculate the axis marker value when scrolling chart.scroller().listen("scrollerchange", function (markerValue) {// get the new marker value markerValue = getMarkerValue(); // create a line marker linemarker.value(markerValue); // set the text marker value and text textMarker.text(markerValue||'').value(markerValue); }); // get the value for the axis marker function getMarkerValue() { var xScale = chart.xScale(); // get the start and end dates var max = xScale.getMaximum(); var min = xScale.getFullMinimum(); var selectable = mapping.createSelectable(); // select a date range selectable.select(min, max); var queue = []; var value = null; // get the iterator var iterator = selectable.getIterator(); // advance the iterator to the next position while (iterator.advance()) { queue.push(iterator.get("close")); // delete all values except the last 10 if (queue.length > 10) { queue.shift(); } var sum=0; // not enough data - don't draw the axis marker if (queue.length < 10) { value = null; } else { // calculate the marker value for (var i = 0;i < queue.length; i++){ sum = sum + queue[i]; } value = (sum/10).toFixed(2); } } return value; }});
想要购买Anychart正版授权的朋友可以。
有关产品资讯的更多精彩内容,敬请关注下方的微信公众号▼▼▼
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢