代码
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秒 ,一面画图太频繁,数据增长过快。
返回