zoukankan      html  css  js  c++  java
  • 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秒  ,一面画图太频繁,数据增长过快。


    返回

  • 相关阅读:
    Android Studio 2.2.2导入Eclipse中创建的项目
    mvc上传到云虚拟机的问题解决
    基于矢量数据的逆地理编码功能实现
    离线地图解决方案(二):地图基本控制
    离线地图解决方案(一):加载瓦片地图
    离线地图解决方案
    openlayers应用“四”:百度地图纠偏续
    openlayers应用“三”:百度地图纠偏
    openlayers应用(二):加载百度离线瓦片
    openlayers3应用一:显示百度地图
  • 原文地址:https://www.cnblogs.com/bitquant/p/7209814.html
Copyright © 2011-2022 走看看