Echarts-K线图提示框改头换面

工作:

使用Hbuilder建web工程,加入echarts相关库,根据需要更改K线图及其的提示样式,去除默认提示,使用异步加载echarts的数据,数据格式为json。

 

需要注意的K线图和5日均线,10日均线的意义,5日均值是根据前4天加上当天的值再除以5来计算的,10日的类似,则可以理解以下算均线的函数:

function calculateMA(dayCount) {var result = [];for(var i = 0, len = data.data.length; i < len; i++) {if(i < dayCount) {result.push('-');continue;}var sum = 0;for(var j = 0; j < dayCount; j++) {sum += data.data[i - j][1];}result.push(sum / dayCount);}return result;}

 

在官网下载echarts.min.js,同时在网上找jquery的js下载下来。用Hbuilder新建web项目,将js文件放入工程相应的文件夹中。

在index.html中引入两个js文件,就可以使用了。

去echarts官网找典型的K线图例子,放入自己的html页面中,Hbulider右侧则会显示出echarts图

异步加载数据需要使用jquery找到json文件,从中取出数据,然后用Mychart.setOption()方法异步加载数据,类似于这样

myChart.setOption({title: {text: data.title,left: 0},xAxis: {data: data.date},series: [{// 根据名字对应到相应的系列
                            data: data.data},{data: calculateMA(5)},{data: calculateMA(15)},{data: calculateMA(30)}]});});

注意数据对应的图表。

k线图默认的是股票的tooltip提示,默认提示固定有open,close,highest,lowest等字段,而且有默认的提示样式

如果需要改提示字段,则需要自己设置tooltip中的formatter参数,设置触发器为axis,提示中带有颜色的小圆点是是params的marker,其他的可以根据需要设计。

tooltip: {trigger: 'axis',formatter: function(params, ticket, callback) {var result = "时间:"+params[0].name + "<br/>";params.forEach(function(item) {if(item.seriesName=="日K") {result += item.marker + " " + item.seriesName + "  ("+item.value.toString().split(",")[1]+","++item.value.toString().split(",")[2]  + ")</br>";} else {result += item.marker + " " + item.seriesName + " : " + item.value.toString().substring(0, 7) + "</br>";}});return result;},

更改字段后显示可以如下,将默认的highest,lowest,open,close去除了

 

html代码为:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>K线图</title><script src="js/echarts.min.js"></script><script src="js/jquery.js"></script><script src="js/infographic.js"></script></head><body><!-- 为ECharts准备一个具备大小(宽高)的Dom --><div id="main" style="width:800px;height:500px;"></div><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'), 'infographic');// 数据意义:前一天,后一天,前一天,后一天
option = {title: {text: '',left: 0},tooltip: {trigger: 'axis',formatter: function(params, ticket, callback) {var result = "时间:"+params[0].name + "<br/>";params.forEach(function(item) {if(item.seriesName=="日K") {result += item.marker + " " + item.seriesName + "  ("+item.value.toString().split(",")[1]+""++item.value.toString().split(",")[2]  + ")</br>";} else {result += item.marker + " " + item.seriesName + " : " + item.value.toString().substring(0, 7) + "</br>";}});return result;},
//
//                                                // 坐标轴指示器配置项
//                                                axisPointer: {
//                                                    type: 'cross',
//                                                    label: {
//                                                        show: true,
//                                                        color: 'yellow',
//                    
//                                                    },
//                                                    crossStyle: {
////                                                        type: 'solid'
//                                                    }
//                    
//                                                }
                },legend: {data: ['日K', '5日均线', '15日均线', '30日均线']},grid: {left: '10%',right: '10%',bottom: '15%'},xAxis: {type: 'category',data: [],scale: true,boundaryGap: false,axisLine: {onZero: false},splitLine: {show: false},splitNumber: 20,min: 'dataMin',max: 'dataMax'},yAxis: {scale: true,splitArea: {show: true}},dataZoom: [{type: 'inside',start: 50,end: 100},{show: true,type: 'slider',y: '90%',start: 50,end: 100}],series: [{name: '日K',type: 'candlestick',data: [],markPoint: {label: {},data: [],tooltip: {}},markLine: {symbol: ['none', 'none'],data: [
                                {name: 'min line on close',type: 'min',valueDim: 'close'},{name: 'max line on close',type: 'max',valueDim: 'close'}]}},{name: '5日均线',type: 'line',data: [],color: 'lightblue',smooth: true,lineStyle: {normal: {opacity: 0.5}}},{name: '15日均线',type: 'line',data: [],smooth: true,lineStyle: {normal: {opacity: 0.5}}},{name: '30日均线',type: 'line',data: [],smooth: true,lineStyle: {normal: {opacity: 0.5}}},]};myChart.setOption(option);$.get('data.json').done(function(data) {// 填入数据//                            var info = splitData(data.raw);function calculateMA(dayCount) {var result = [];for(var i = 0, len = data.data.length; i < len; i++) {if(i < dayCount) {result.push('-');continue;}var sum = 0;for(var j = 0; j < dayCount; j++) {sum += data.data[i - j][1];}result.push(sum / dayCount);}return result;}myChart.setOption({title: {text: data.title,left: 0},xAxis: {data: data.date},series: [{// 根据名字对应到相应的系列
                            data: data.data},{data: calculateMA(5)},{data: calculateMA(15)},{data: calculateMA(30)}]});});</script></body></html>

 

json格式的测试数据如下,其中有三个键值对:

title标题

date日期

data数据

{"title": "X市区","date": ["2013/1/24","2013/1/25","2013/1/28","2013/1/29","2013/1/30","2013/1/31","2013/2/1","2013/2/4","2013/2/5","2013/2/6","2013/2/7","2013/2/8","2013/2/18","2013/2/19","2013/2/20","2013/2/21","2013/2/22","2013/2/25","2013/2/26","2013/2/27","2013/2/28","2013/3/1","2013/3/4","2013/3/5","2013/3/6","2013/3/7","2013/3/8","2013/3/11","2013/3/12","2013/3/13","2013/3/14","2013/3/15","2013/3/18","2013/3/19","2013/3/20","2013/3/21","2013/3/22","2013/3/25","2013/3/26","2013/3/27","2013/3/28","2013/3/29","2013/4/1","2013/4/2","2013/4/3","2013/4/8","2013/4/9","2013/4/10","2013/4/11","2013/4/12","2013/4/15","2013/4/16","2013/4/17","2013/4/18","2013/4/19","2013/4/22","2013/4/23","2013/4/24","2013/4/25","2013/4/26","2013/5/2","2013/5/3","2013/5/6","2013/5/7","2013/5/8","2013/5/9","2013/5/10","2013/5/13","2013/5/14","2013/5/15","2013/5/16","2013/5/17","2013/5/20","2013/5/21","2013/5/22","2013/5/23","2013/5/24","2013/5/27","2013/5/28","2013/5/29","2013/5/30","2013/5/31","2013/6/3","2013/6/4","2013/6/5","2013/6/6","2013/6/7","2013/6/13"],"data": [[2320.26,2302.6,2287.3,2362.94],[2300,2291.3,2288.26,2308.38],[2295.35,2346.5,2295.35,2346.92],[2347.22,2358.98,2337.35,2363.8],[2360.75,2382.48,2347.89,2383.76],[2383.43,2385.42,2371.23,2391.82],[2377.41,2419.02,2369.57,2421.15],[2425.92,2428.15,2417.58,2440.38],[2411,2433.13,2403.3,2437.42],[2432.68,2434.48,2427.7,2441.73],[2430.69,2418.53,2394.22,2433.89],[2416.62,2432.4,2414.4,2443.03],[2441.91,2421.56,2415.43,2444.8],[2420.26,2382.91,2373.53,2427.07],[2383.49,2397.18,2370.61,2397.94],[2378.82,2325.95,2309.17,2378.82],[2322.94,2314.16,2308.76,2330.88],[2320.62,2325.82,2315.01,2338.78],[2313.74,2293.34,2289.89,2340.71],[2297.77,2313.22,2292.03,2324.63],[2322.32,2365.59,2308.92,2366.16],[2364.54,2359.51,2330.86,2369.65],[2332.08,2273.4,2259.25,2333.54],[2274.81,2326.31,2270.1,2328.14],[2333.61,2347.18,2321.6,2351.44],[2340.44,2324.29,2304.27,2352.02],[2326.42,2318.61,2314.59,2333.67],[2314.68,2310.59,2296.58,2320.96],[2309.16,2286.6,2264.83,2333.29],[2282.17,2263.97,2253.25,2286.33],[2255.77,2270.28,2253.31,2276.22],[2269.31,2278.4,2250,2312.08],[2267.29,2240.02,2239.21,2276.05],[2244.26,2257.43,2232.02,2261.31],[2257.74,2317.37,2257.42,2317.86],[2318.21,2324.24,2311.6,2330.81],[2321.4,2328.28,2314.97,2332],[2334.74,2326.72,2319.91,2344.89],[2318.58,2297.67,2281.12,2319.99],[2299.38,2301.26,2289,2323.48],[2273.55,2236.3,2232.91,2273.55],[2238.49,2236.62,2228.81,2246.87],[2229.46,2234.4,2227.31,2243.95],[2234.9,2227.74,2220.44,2253.42],[2232.69,2225.29,2217.25,2241.34],[2196.24,2211.59,2180.67,2212.59],[2215.47,2225.77,2215.47,2234.73],[2224.93,2226.13,2212.56,2233.04],[2236.98,2219.55,2217.26,2242.48],[2218.09,2206.78,2204.44,2226.26],[2199.91,2181.94,2177.39,2204.99],[2169.63,2194.85,2165.78,2196.43],[2195.03,2193.8,2178.47,2197.51],[2181.82,2197.6,2175.44,2206.03],[2201.12,2244.64,2200.58,2250.11],[2236.4,2242.17,2232.26,2245.12],[2242.62,2184.54,2182.81,2242.62],[2187.35,2218.32,2184.11,2226.12],[2213.19,2199.31,2191.85,2224.63],[2203.89,2177.91,2173.86,2210.58],[2170.78,2174.12,2161.14,2179.65],[2179.05,2205.5,2179.05,2222.81],[2212.5,2231.17,2212.5,2236.07],[2227.86,2235.57,2219.44,2240.26],[2242.39,2246.3,2235.42,2255.21],[2246.96,2232.97,2221.38,2247.86],[2228.82,2246.83,2225.81,2247.67],[2247.68,2241.92,2231.36,2250.85],[2238.9,2217.01,2205.87,2239.93],[2217.09,2224.8,2213.58,2225.19],[2221.34,2251.81,2210.77,2252.87],[2249.81,2282.87,2248.41,2288.09],[2286.33,2299.99,2281.9,2309.39],[2297.11,2305.11,2290.12,2305.3],[2303.75,2302.4,2292.43,2314.18],[2293.81,2275.67,2274.1,2304.95],[2281.45,2288.53,2270.25,2292.59],[2286.66,2293.08,2283.94,2301.7],[2293.4,2321.32,2281.47,2322.1],[2323.54,2324.02,2321.17,2334.33],[2316.25,2317.75,2310.49,2325.72],[2320.74,2300.59,2299.37,2325.53],[2300.21,2299.25,2294.11,2313.43],[2297.1,2272.42,2264.76,2297.1],[2270.71,2270.93,2260.87,2276.86],[2264.43,2242.11,2240.07,2266.69],[2242.26,2210.9,2205.07,2250.63],[2190.1,2148.35,2126.22,2190.1]]
}

转载于:https://www.cnblogs.com/schoolbag/p/9490982.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vc6.0 matlab混合编程,matlab2010 + vc6.0混合编程实例(调用dll)

不想解释太多直接上代码吧&#xff01;&#xff01;&#xff01;在对matlab配置后&#xff0c;上代码mcc -W cpplib:libMyAdd -T link:lib MyAdd -C就可以了&#xff0c;记得加上-C在对VC6.0进行配置的时候只要把 matlabroot\extern\include和matlabroot\extern\lib\win32\micr…

canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...

(给前端大学加星标&#xff0c;提升前端技能.)作者&#xff1a;zhcxk1998https://juejin.im/user/5d4304bdf265da03d15531dc哈哈哈俺又来啦&#xff0c;这次带来的是canvas实现一些画布功能的文章&#xff0c;希望大家喜欢&#xff01;这个css3变化公式可以适用于平常我们使用的…

RMI强制Full GC每小时运行一次

在我职业生涯中进行的所有故障排除练习中&#xff0c;我感到随着时间的推移&#xff0c;我所追寻的错误在不断发展&#xff0c;变得越来越卑鄙和丑陋。 也许仅仅是我的年龄开始了。这个特别的Heisenbug –看起来像这篇帖子一样&#xff0c;再次让我清醒了很多&#xff0c;而不是…

oracle 安装ora 27102,ORA-27102 解决办法

因为在32位操作系统上执行了如下的操作alter system set sga_max_size2G scopespfile;之后再重启数据库就会失败报出错误:ORA-27102Out of Memory解决的方法也很简单:新建一个文本文件 如initaaa.ora内容&#xff1a;SPFILE../product/10.2.0&#xff0f;db_1/dbs/spfileorcl.o…

Codechef August Challenge 2018 : Modular GCD

传送门 一开始还手动拓欧找规律&#xff0c;发现好像玩不了。 然后想了想&#xff0c;A-B这个数比较小&#xff0c;枚举它的因子判断合不合法就行了。 需要特判AB的情况。 #include<cstdio> #include<algorithm> #define ll long long #define ld long double usin…

c语言 指针_C语言——指针

学习阶段&#xff1a;高中信竞、大学编程。前置知识&#xff1a;二进制与十六进制&#xff0c;C语言基础&#xff0c;数组。指针初学可能比较难理解&#xff0c;我这篇文章尽量用通俗易懂的方式来讲解。1. 指针概述为什么有指针这个东西&#xff1f;因为指针很贴近计算机内部的…

BZOJ 2141 排队(分块+树状数组)

题意 第一行为一个正整数n&#xff0c;表示小朋友的数量&#xff1b;第二行包含n个由空格分隔的正整数h1,h2,…,hn&#xff0c;依次表示初始队列中小朋友的身高&#xff1b;第三行为一个正整数m&#xff0c;表示交换操作的次数&#xff1b;以下m行每行包含两个正整数ai和bi&…

vant input框禁止调用手机键盘_【案例分享】适应网银等密码键盘的解决方案

在各种技术不断进步的大趋势下&#xff0c;对业务造成了极大影响&#xff0c;从大数据到云计算&#xff0c;再到人工智能&#xff0c;众多企业都开始步入技术改革&#xff0c;从而实现企业的创新。但与此同时&#xff0c;更多技术的引用&#xff0c;意味着更多的业务系统上线&a…

启动oracle数据库工具,Oracle数据库常用工具

SQL*Plus:SQL*Plus 是Oracle 数据库的一个基本工具&#xff0c;它允许用户使用SQL 命令交互式的访问数据库&#xff0c;也允许用户使用SQL*Plus 命令格式化输出参数。 通过SQL*Plus &#xff0c;可以完成数据库的启动和停止、创建和运行查询、更新数据、格式化输出数据报表、运…

Java 获取linux根目录下的文件夹_Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux...

2020年第一波薅当当网羊毛的机会&#xff0c;别错过&#xff01;晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 微软&#xff0c;致力于做最好的Linux发行版。今天&#xff0c;安装Windows 10测试版本号19603的用户发现&#xff0c;系统里WSL (Windows中的Linux子系统…

HTML5效果:实现树叶飘落

实现如图所示的东西效果&#xff08;落叶下落&#xff09;&#xff1a; html代码&#xff1a; <!DOCTYPE html><html><head><title>HTML5树叶飘落动画</title><meta charset"utf-8"><meta name"viewport" content&…

oracle 创交表,创建交叉报表(oracle)_oracle

创建交叉报表create table t1(goodid number(10) not null,saledate date not null,salesum number(10));要求生成本年度每个月的产品销售状况表m1 m2 m3 ... m12g1g2...gn下面是生成报表的sqlSELECT goodid,SUM(decode(to_char(saledate,mm),01,salesum)) "01"…

cass方格网数据excel_讨论|CASS怎么计算回字型土方? 124

大家好,欢迎来到我的专栏。这是我原创的第124篇CASS应用技术干货文章。希望对你有所帮助&#xff0c;写文不易&#xff0c;请点赞哦!回字型土方工程&#xff0c;就是计算区域内部&#xff0c;有一个或多个不参加计算的区域&#xff0c;这种区域也就是常说的“扣岛”。常见的有基…

垃圾收集器准则和提示

这些是我需要调整GC时通常会看到的一些准则和技巧。 主要由以下两本书组成&#xff0c;而根据我的经验却很少&#xff1a; Java性能 JBoss AS 5性能调优 希望它们对那里的其他人有用&#xff01; 垃圾收集器 XX:AggressiveOpts将HotSpot内部布尔变量设置为true以启用其他性…

MD5加密处理

MD5 加密后的位数一般为两种&#xff0c;16 位与 32 位。16 位实际上是从 32 位字符串中&#xff0c;取中间的第 9 位到第 24 位的部分 using System; using System.Security.Cryptography; using System.Text;namespace _04MD5加密 {internal class Program{private static vo…

移动前端—H5实现图片先压缩再上传

在做移动端图片上传的时候&#xff0c;用户传的都是手机本地图片&#xff0c;而本地图片一般都相对比较大&#xff0c;拿iphone6来说&#xff0c;平时拍很多图片都是一两M的&#xff0c;如果直接这样上传&#xff0c;那图片就太大了&#xff0c;如果用户用的是移动流量&#xf…

requests模块

python requests用法总结 本文全部来源于官方文档 http://docs.python-requests.org/en/master/ 1、安装 Requests 是一个第三方 Python 模块&#xff0c;其官网的介绍如下&#xff1a; Requests 唯一的一个非转基因的 Python HTTP 库&#xff0c;人类可以安全享用。 警告&…

linux子系统备份,使用LxRunOffline工具备份/还原Linux子系统(WSL)

安装WSL开启WSL组件首先需要打开WSL组件&#xff0c;可以使用以下命令&#xff1a;Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux也可以手动在【控制面板】-【程序】-【启用或关闭Windows功能】-【适用于Linux的Windows子系统】打勾&…

react打包后图片丢失_手搭一个 React,Typescript,Koa,GraphQL 环境

本文系原创&#xff0c;转载请附带作者信息&#xff1a;yhlben项目地址&#xff1a;https://github.com/yhlben/cdfang-spider前言在实际的开发过程中&#xff0c;从零开始初始化一个项目往往很麻烦&#xff0c;所以各种各样的脚手架工具应运而生。crea-react-app&#xff0c;v…

无需改动现有网络,企业高速远程访问内网Linux服务器

某企业为数据治理工具盒厂商&#xff0c;帮助客户摆脱数据问题困扰、轻松使用数据&#xff0c;使得客户可以把更多精力投入至数据应用及业务赋能&#xff0c;让数据充分发挥其作为生产要素的作用。 目前&#xff0c;该企业在北京、南京、西安、武汉等地均设有产研中心&#xff…