BotVS开发基础—2.5 绘制图表
代码
import time import math def main(): chart = { # 用于初始化 图表的对象 'title': {'text': "line数值触发 plotLines 值"}, # 图表标题 'yAxis': { # Y轴 相关 设置 'plotLines': [{ # 垂直于Y轴的 水平线, 用作触发线, 是一个结构数组, 可以设置多条触发线。 'value': 0, # 触发线的值,设置多少 这条线就在相应的数值位置显示。 'color': 'red', # 设置触发线的颜色 'width': 2, # 宽度 'label': { # 显示的标签 'text': '触发值', #标签文本 'align': 'center' #标签位置 居中 }, }], }, 'xAxis': {'type': "datetime"}, # X轴相关设置, 这里设置类型是 时间轴 'series': [{'name': "sin", 'type': "spline", 'data': []}, {'name': "cos", 'type': "spline", 'data': []} ] # 这个是比较重要的数据系列,可以设置多个数据系列,根据数组索引控制 }; pi = 3.1415926535897; # 圆周率 itime = 0; # 用于记录时间戳的变量 angle = 0; # 角度 y = 0; # 坐标y值 , 用于接收 正弦值、余弦值 objChart = Chart(chart); # 调用API 接口 用chart 对象初始化 图表 objChart.reset(); # 初始清空图表 chart['yAxis']['plotLines'][0]['value'] = 1; # 设置触发线的值为1 while(true): # 循环 itime = time.time(); # 获取当前时刻的时间戳 y = math.sin(angle * 2 * pi / 360); # 每 500ms 角度 angle 增加 5 度,计算正弦值。 objChart.add(0, [itime, y]); # 把计算出来的y 值写入图表 相应索引的数据系列 add 函数第一个参数 为 指定的索引 y = math.cos(angle * 2 * pi / 360); # 计算余弦值 objChart.add(1, [itime, y]); objChart.update(chart); # 增加新数据后,更新图表。 angle += 5; # 增加5度 Sleep(5000); # 暂停5秒 ,一面画图太频繁,数据增长过快。
返回
BotVS开发基础—2.5 绘制图表的更多相关文章
- BotVS开发基础—2.11 API绘制图表
代码 import time chart = { '__isStock': True, # 标记是否为一般图表,有兴趣的可以改成 false 运行看看. 'tooltip': {'xDateForma ...
- BotVS开发基础—Python API
代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...
- BotVS开发基础—2.7 指标MACD
代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...
- BotVS开发基础—2.7 指标MA
代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...
- BotVS开发基础—2.5 策略交互
一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...
- BotVS开发基础—2.5 状态信息显示表格
代码 import json def main(): #part 1 bol = True num = 10; # str = "ABC"; # 字符串 list = [1, 2, ...
- BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...
- BotVS开发基础—2.3 下市价单 交易
代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...
- BotVS开发基础—2.2 下限价单 交易
代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...
随机推荐
- Jersey +jetty 实现微服务(一)
微服务: 传输协议基本都是http,数据序列化,协议层目前protocol buffer,Json, xml,Java序列化,最多使用Json.实现以上二点并不难,spring 就可以,但spr ...
- zepto.js 的tap事件中点击一次触发两次事件
html代码: <div class="xh-lxx-cart-count1"> <span class="minus">-</s ...
- 移动端em与rem区别
rem与em都是相对单位,我们使用它们的目的就是为了适应各种手机屏幕. rem是根据html根节点来计算的,而em是继承父元素的字体.比如下面一个demo <!doctype html> ...
- 发博客用的一些HTML
这个世界,在发生什么? 移动光标 <p style="background: #999999; padding: 5px; font-size: 22px;">< ...
- RabbitMQ 知识总结
RabbitMQ知识总结 AMQP协议 AMQP协议是一个提供统一消息服务的应用层标准协议,并不会受到客户端/中间件不同产品.不同开发语言等条件的影响.RabbitMQ则是基于该协议实现的. 举个例子 ...
- (转)maven镜像路径配置
很多maven包无法自动下载怎么办?设置maven镜像setting.xml <mirror> <id>repo2</id> <mirrorOf>cen ...
- 【Python】debug工具-pdb(转)
Debug功能对于developer是非常重要的,python提供了相应的模块pdb让你可以在用文本编辑器写脚本的情况下进行debug. pdb是python debugger的简称. 常用的一些命令 ...
- [BZOJ 4325][NOIP 2015] 斗地主
一道防AK好题 4325: NOIP2015 斗地主 Time Limit: 30 Sec Memory Limit: 1024 MBSubmit: 820 Solved: 560[Submit] ...
- Java 9 揭秘全目录汇总
Tips 做一个终身学习的人. 当写这篇文章时,关于Java 9的学习就先告一段落了. 首先介绍一下背景,大概两个月前,我突然有兴趣想看看Java 9,当时读了一本英文原著<Java 9 Rev ...
- 微服务(二)hystrix
特性 1.延迟和失败容忍 防止级联错误,错误回退,优雅降级.快速失败和恢复 线程和信号量隔离 2.实时监控和配置更改 3.并发 并行执行,请求缓存,自动批处理失败请求 总运行流程 当你发出请求后,hy ...