动态更新echarts k线图数据 通过websocket取数据
1.加载插件,实例化chart.
2.链接websocket
3.接收数据,处理数据,调用chart的实例,不断更新数据
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="container"></div>
<p id="CommodityNo">50</p>
<script src="k/esl.js"></script>
<script>
//加载插件
var aa=require.config({
paths:{
'echarts' :'k/echarts',
'echarts/chart/pie' :'k/echarts',
}
});
function loadK(){
// 使用
require(
[
'echarts',
'echarts/chart/pie', // 使用柱状图就加载bar模块,按需加载
],
function (ec) {
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('container'));
echarts=ec;
}
); };
var marketSocketUrl="";//websocket地址
var marketUserName="";//websocket名字
var marketPassword="";//websocket密码
marketSocket = new WebSocket(marketSocketUrl);
var setIntvalTime = null;
marketSocket.onopen = function(evt){
masendMessage('Login','{"UserName":"'+marketUserName+'","PassWord":"'+marketPassword+'"}');
};
marketSocket.onclose = function(evt){};
marketSocket.onmessage = function(evt){
var data = evt.data;
if(method == "OnRspQryHistoryData"){
var historyParam = jsonData;
if(historyParam.Parameters==null){
return
};
processingData(data);
}
};
marketSocket.onerror = function(evt){
};
var rawData = [];
var CandlestickChartOption=null;
var CandlestickVolumeChartOption=null;
var newData=[];
function processingData(jsonData){
var parameters = jsonData.Parameters.Data;
if(jsonData == null)return;
newData=parameters.data;//处理数据,更新数据
var x=0;
if(dataPricesList.length!=0){
for(var i=0;i<dataPricesList.length;i++){
if(dataPricesList[i].id==$("#CommodityNo").text()){
x=dataPricesList[i].prices;//获取标线的价格
}
}
}
CandlestickChartOption = setOption(newData,x);
myChart.setOption(CandlestickChartOption);
myChart.resize(); }
//设置数据参数(为画图做准备)
function setOption(rawData,x){
var dates = rawData.map(function (item) {
return item[0];
});
var data = rawData.map(function (item) {
return [+item[1], +item[2], +item[5], +item[6]];
});
var option = {
backgroundColor: 'rgba(43, 43, 43, 0)',
tooltip: {
trigger: 'axis',
axisPointer : {
type : 'line',
animation: false,
lineStyle: {
color: '#ffffff',
width: 1,
opacity: 1
}
},
formatter: function (params) {
var res = "时间:"+params[0].name;
res += '<br/> 开盘 : ' + params[0].value[0] + '<br/> 最高 : ' + params[0].value[3];
res += '<br/> 收盘 : ' + params[0].value[1] + '<br/> 最低 : ' + params[0].value[2];
return res;
}
},
grid: {
x: 43,
y:20,
x2:46,
y2:5
},
xAxis: {
type: 'category',
data: dates,
show:false,
axisLine: { lineStyle: { color: '#8392A5' } }
},
yAxis: {
scale: true,
axisLine: { lineStyle: { color: '#8392A5' } },
splitLine: { show: false },
axisTick:{
show:false,
},
splitArea: {
show: false
},
axisLabel: {
inside: false,
margin: 4
},
splitLine: {
show: true,
lineStyle: {
color: "#8392A5"
}
}
},
animation: false,
series: [
{
type: 'candlestick',
name: '',
data: data,
markLine: {
symbol: ['none', 'none'],
clickable:false,
data: [
{name: '标线2起点', value: x, xAxis: "1", yAxis: x}, //持仓均线
{name: '标线2终点', xAxis: "2", yAxis: x}
]
},
itemStyle: {
normal: {
color: '#FD1050',
color0: '#0CF49B',
borderColor: '#FD1050',
borderColor0: '#0CF49B'
}
}
}
]
}
return option;
};
</script>
</body>
</html>
动态更新echarts k线图数据 通过websocket取数据的更多相关文章
- 百度 echarts K线图使用
看个效果图先 首先在需要插入图例的HTML中嵌入 <div id="main" style="height:400px"></div> ...
- 【带着canvas去流浪(5)】绘制K线图
目录 一. 任务说明 二. 重点提示 三. 示例代码 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文 ...
- 带着canvas去流浪系列之五 绘制K线图
[摘要] 用canvas原生API实现百度Echarts 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...
- C#下如何用NPlot绘制期货股票K线图(2):读取数据文件让K线图自动更新
[内容介绍]上一篇介绍了K线图的基本绘制方法,但很不完善,本篇增加了它直接读取数据的功能,这对于金融市场的数据量大且又需要动态刷新功能的实现很重要. [实现方法] 1.需要一个数据文件,这里用的是直接 ...
- 使用ECharts画K线图
需引入echarts.js插件,开发环境建议选择源代码版本,该版本包含了常见的警告和错误提示.下载地址 http://echarts.baidu.com/download.html 下面是代码,注释很 ...
- 基于Echarts的股票K线图展示
发布时间:2018-10-31 技术:javascript+html5+canvas 概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...
- echarts画k线图
var charset = echarts.init(document.getElementById("k_line")) $.get(k_line.url_A).done(fun ...
- [python]沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上
将沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上 原理:python读取前一次处理完的计算5日后涨跌幅输出的csv文件 文件名前加"[paint]" 安照通达信的画图文件和板 ...
- C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...
随机推荐
- BZOJ3743 COCI2015Kamp(树形dp)
设f[i]为由i开始遍历完子树内所要求的点的最短时间,g[i]为由i开始遍历完子树内所要求的点最后回到i的最短时间.则g[i]=Σ(g[j]+2),f[i]=min{g[i]-g[j]+f[j]-1} ...
- 【BZOJ3555】企鹅QQ(字符串哈希)
[BZOJ3555]企鹅QQ(字符串哈希) 题面 BZOJ 题解 把前缀哈希一下,后缀哈希一下 枚举哪个位置不选,然后检查一下相同就行了.. 为什么我的\(Hash\)老是\(WA\), 为什么\(Z ...
- 【BZOJ4129】Haruna’s Breakfast(树上莫队)
[BZOJ4129]Haruna's Breakfast(树上莫队) 题面 BZOJ Description Haruna每天都会给提督做早餐! 这天她发现早饭的食材被调皮的 Shimakaze放到了 ...
- PHP关于VC9和VC6以及Thread Safe和Non Thread Safe版本选择的问题
一.如何选择PHP5.3的VC9版本和VC6版本 VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本. VC9版本是使用 ...
- 【loj6059】Sum
Portal --> loj6059 Solution 看过去第一反应是..大力数位dp!然后看了一眼数据范围... 但是这没有什么关系!注意到我们不需要考虑前导零了,可以直接快乐dp ...
- 洛谷P2633/bzoj2588 Count on a tree (主席树)
洛谷P2633/bzoj2588 Count on a tree 题目描述 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K ...
- Linux遇到的两个问题
编译C++的和编译C语言的命令不同. 编译C++,应当先安装g++. 然后可以用#g++ filename.cpp -o filename 进行编译 编译C语言是用#gcc filename.c -o ...
- animatescroll.min.js ~~~~ jq滚动效果 优化target自定义方法
$(".meun>div[name='meun_nav']>a").eq(1).on("click",function(){ $("bod ...
- APP的数据采集与埋点方式分析
前言: 神策数据写过几篇分析APP前后端埋点的文章,原文在此: https://sensorsdata.cn/blog/shu-ju-jie-ru-yu-mai-dian/ http://www.wo ...
- [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...