代码

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 绘制图表的更多相关文章

  1. BotVS开发基础—2.11 API绘制图表

    代码 import time chart = { '__isStock': True, # 标记是否为一般图表,有兴趣的可以改成 false 运行看看. 'tooltip': {'xDateForma ...

  2. BotVS开发基础—Python API

    代码 import json def main(): # python API列表 https://www.botvs.com/bbs-topic/443 #状态信息 LogStatus(" ...

  3. BotVS开发基础—2.7 指标MACD

    代码 def main(): while true: records = _C(exchange.GetRecords); # 获取K线数据 ,默认为策略界面设置的K线周期, _C 是一个容错的内置函 ...

  4. BotVS开发基础—2.7 指标MA

    代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...

  5. BotVS开发基础—2.5 策略交互

    一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...

  6. BotVS开发基础—2.5 状态信息显示表格

    代码 import json def main(): #part 1 bol = True num = 10; # str = "ABC"; # 字符串 list = [1, 2, ...

  7. BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单

    代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...

  8. BotVS开发基础—2.3 下市价单 交易

    代码 def main(): ticker = exchange.GetTicker(); Log("初始账户信息:", exchange.GetAccount()); # 用于对 ...

  9. BotVS开发基础—2.2 下限价单 交易

    代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...

随机推荐

  1. React Native App设置&Android版发布

    React Native系列 <逻辑性最强的React Native环境搭建与调试> <ReactNative开发工具有这一篇足矣> <解决React Native un ...

  2. Jenkins: 执行 PowerShell 命令

    Jenkins 默认是不支持执行 PowerShell 命令的,需要安装插件才能完成这样的任务.本文将介绍 Jenkins PoserShell 插件的基本用法和常见问题. 安装 PowerShell ...

  3. 第2章 rsync(一):基本命令和用法

    本文目录: 2.1 说在前面的话 2.2 rsync同步基本说明 2.3 rsync三种工作方式 2.4 选项说明和示例 2.4.1 基础示例 2.4.2 "--exclude"排 ...

  4. Java类加载机制、类加载器和反射机制-思维导图

    参考文献: 1. <深入理解JVM虚拟机>

  5. ES6模板字面量

    前面的话 JS 的字符串相对其他语言来说功能总是有限的,事实上,ES5中一直缺乏许多特性,如多行字符串.字符串格式化.HTML转义等.ES6通过模板字面量的方式进行了填补,模板字面量试着跳出自己JS已 ...

  6. oracle-sql入门练习及答案

    1,通过命令行方式打开sqlplus2,执行登录命令sqlplus scott/scott@192.168.248.129/orcl3进行sqlplus命令测试Set time onSet pages ...

  7. (转)Linux修改SSH登录欢迎语

    场景:感觉这样做挺个性的,做个记录! 1 Linux修改SSH的欢迎语 众所周知,Linux系统并没有像Windows一样自带远程桌面连接,虽然可以通过后期安装VNC之类的软件来弥补这个缺点,但用了L ...

  8. 微信小程序开发基础知识总结

    微信小程序在无论在功能.文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们的小程序在很多方面突破H5页面应用的限制,更加接近原生程序的功能,因此微信小程序具有很 ...

  9. dubbo-zookeeper(续)

    本篇为继上一篇的续篇,主要内容分为以下几点: 1.zookeeper集群 2.web管理平台 3.dubbo配置说明 接下来我们开始继续吧. 一.zookeeper集群 顾名思义也就是多台zookee ...

  10. unable to create …

    问题描述: 在新建Android Application时会出现unable to create the selected property page 解决方法: 将用户PATH路径中的jdk路径放到 ...