小编ega*_*riM的帖子

d3.js使用python websocket数据实时更新svg行

我是d3.js / javascript和面向Web编程的新手。

我的目标是通过网络套接字用新值更新现有图表。

注意:在此示例中,我确实有一个javascript数组“ var”,我需要添加通过websocket获得的新值,但不是强制性的,数组“ var”也可以为空。我的目标是通过websocket ws接收绘制数据。

我从python websocket服务器(代码1)正确接收了值,但是我仍然不明白如何在d3.js图上绘制新元素。我阅读了一些有关更新模式示例的文档,例如https://bl.ocks.org/mbostock/3808218, 但仍无法使用d3.js enter()/ update()获得有效的解决方案。Code2是一个工作示例,另外还提供了websocket的javascript代码。我正确获取新数据并存储在var“ close”“ when”中。任何人都可以帮助修改html代码以绘制新数据吗?感谢您的帮助,问候。

代码1:工作的python服务器websocket

#!/usr/bin/env python
import asyncio
import datetime
import random
import websockets
import numpy as np
import json

IP = '192.168.10.224'
PORT = 5678


def format_time():
    t = datetime.datetime.now().time()
    s = t.strftime('%H:%M:%S.%f')
    return s[:-3]

async def time(websocket, path):
    while True:
        #now = datetime.datetime.utcnow().isoformat() + 'Z'
        data = {'datetime': str(format_time()),
                'ticker': 'ticker',
                'value': str(random.randint(100,1000)),
                'volume': str(random.randint(1,10))}
        await websocket.send(json.dumps(data))
        await asyncio.sleep(random.random() * 3)

start_server = websockets.serve(time, …
Run Code Online (Sandbox Code Playgroud)

javascript python svg websocket d3.js

5
推荐指数
1
解决办法
2425
查看次数

标签 统计

d3.js ×1

javascript ×1

python ×1

svg ×1

websocket ×1