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_ ...
随机推荐
- Xamarin Android绑定微信SDK
现在几乎所有的APP都集成了向微博,微信等社交平台分享的功能.这些社交平台官方也提供了SDK让开发者使用,对于Android和IOS平台而言,只需要下载官方的SDK,按照官方说明文档进行集成就可以轻松 ...
- Spark SQL笔记——技术点汇总
目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ...
- 如是使用JS实现页面内容随机显示
之前有个客户咨询我,因为他们公司的业务员有多个人,但公司网站的联系方式板块里只够放一个人的信息,所以就想能不能实现这个联系方式信息随机显示,对于业务或客服人员来说也能做到分配均匀公平.本文我们将和大家 ...
- 中国剩余定理(CRT)与欧拉函数[数论]
中国剩余定理 ——!x^n+y^n=z^n 想必大家都听过同余方程这种玩意,但是可能对于中国剩余定理有诸多不解,作为一个MOer&OIer,在此具体说明. 对于同余方程: x≡c1(mod m ...
- Java类加载机制、类加载器和反射机制-思维导图
参考文献: 1. <深入理解JVM虚拟机>
- Jmeter实现MD5加密
Jmeter3.0以后的版本不再内置MD5加密函数,只能自己写了. 1.编码 package com.liuke.test; import java.security.MessageDigest; i ...
- (转)CentOS 7.0关闭默认防火墙启用iptables防火墙
场景:在本地虚拟机上使用ftp软件需要进行相应的端口设置,不可避免要访问Cnetos的防火墙,默认firewall操作不方便,所以需要进行相应的替换. 1 配置防火墙,开启80端口.3306端口 1. ...
- 【逻辑漏洞】基于BurpSuite的越权测试实战教程
一.什么是越权漏洞?它是如何产生的? 越权漏洞是Web应用程序中一种常见的安全漏洞.它的威胁在于一个账户即可控制全站用户数据.当然这些数据仅限于存在漏洞功能对应的数据.越权漏洞的成因主要是因为开发人员 ...
- Pandas: 如何将一列中的文本拆分为多行? | Python
Pandas: 如何将一列中的文本拆分为多行? 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别填入多行中的数据,被填在一行里了,然而在分析的时候,需要拆分成为多行. 在上图中,列名 ...
- node调用phantomjs-node爬取复杂页面
什么是phantomjs phantomjs官网是这么说的,'整站测试,屏幕捕获,自动翻页,网络监控',目前比较流行用来爬取复杂的,难以通过api或正则匹配的页面,比如页面是通过异步加载.phanto ...