代码

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. Java 9 揭秘(14. HTTP/2 Client API)

    Tips 做一个终身学习的人. 在此章中,主要介绍以下内容: 什么是HTTP/2 Client API 如何创建HTTP客户端 如何使HTTP请求 如何接收HTTP响应 如何创建WebSocket的e ...

  2. Spring+SpringMVC+MyBatis集成学习笔记【一】

    一,首先要清楚,SpringMVC其实就是Spring的一个组件       例如我们知道Spring中有类似于,AOP TX等等类似的组件,所以SpringMVC其实就是Spring的一个组件,是S ...

  3. (转)java并发之Executor

    场景: 线程池在面试时候经常会碰到,在工作中用的场景更多,所以很有必要弄清楚. 1 简介 Java自1.5以来加入了处理一批线程的方法,也就是java并发包里的Executor.本文主要介绍Execu ...

  4. Java以及PHP安装环境

    开学前想把web的知识系统掌握一下,跟着极客学院学html5. 安装了intellij idead.xampp.jdk.eclipse for php. 下面列举一些安装过程中会出现的问题,以及解决. ...

  5. 利用GPU实现大规模动画角色的渲染

    0x00 前言 我想很多开发游戏的小伙伴都希望自己的场景内能渲染越多物体越好,甚至是能同时渲染成千上万个有自己动作的游戏角色就更好了. 但不幸的是,渲染和管理大量的游戏对象是以牺牲CPU和GPU性能为 ...

  6. [技术] 如何正确食用cnblogs的CSS定制

    用过cnblogs的估计都知道cnblogs提供了相对比较开放的个性化选项,其中最为突出的估计就是页面CSS定制了.但是没学过Web前端的人可能并不会用这个东西... 所以我打算在此分享一些定制CSS ...

  7. RabbitMQ入门-初识RabbitMQ

    初识RabbitMQ 要说RabbitMQ,我们不得不先说下AMQP.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面 ...

  8. mk框架,一个基于react、nodejs全栈框架

    在这个前端技术爆炸的时代,不自己写套开源框架出门都不好意思跟别人打招呼,作为一个前端领域的小学生,去年年初接触了react,之后一发不可收拾爱上了它,近期重构了自己去年开源的一个项目,废话到此结束句号 ...

  9. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  10. Docker实践 - 安装Docker并在容器里运行tomcat

    安装Docker yum install docker 本文使用的系统是centos7,ubuntu使用以下命令 sudo apt-get update sudo apt-get install do ...