# flow_data_topo_simulation **Repository Path**: T1anzhEnyu/flow_data_topo_simulation ## Basic Information - **Project Name**: flow_data_topo_simulation - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-06 - **Last Updated**: 2021-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flow_data_topo_simulation > 使用第三方库pyecharts创建节点流关系图 > pyecharts官网: https://pyecharts.org/#/ ### 使用说明: 1. 将拓扑文件放入community_small.txt中,**\t**分隔。 文件格式为:源节点,目的节点,原节点所在社区,目的节点所在社区。 2. 将节点负载和边负载关系放入flow_data.txt中,空格分隔。文件格式为:原节点,目的节点,原节点负载,目的节点负载,边权重。 3. 将最新的边负载关系放入flow_data_new.txt中,空格分隔。该文件用于区分新增加的flow,格式与flow_data.txt 格式相同。 4. 将节点类型关系放入node_type.txt,逗号分隔,共四行,第一行为源节点集合,第二行为目的节点集合,第三行为LN节点集合,第四行为RP节点集合。 5. 运行simulation_flow_graph.py 生成html文件。其中run()方法增加了对不同layout的支持, ```shell "force" 是力引导模型,用于调试,可以拖动; "manual" 可以初始化时确定部分点的坐标,坐标在 manual_set_node() 中确定; "none" 用于最终展示,固定所有点的坐标,不可拖动,动画效果好; ``` 6. 在浏览器打开html文件预览,如果需要定时刷新页面,需要在html文件中增加一行标签: ```html ``` 7. 获取实时渲染之后的点的坐标,在浏览器**console**中输入以下**function**中的**js**代码即可,获取到之后拷贝到`layout.txt`中。 - 注意:chart_ 要改成生成的html文件中对应的chart_id ```javascript function getLayout() { var points = chart_d99899c6190a4318a834c40cb01a2c32.getModel().getSeriesByIndex(0).preservedPoints for (var i=0; i<=78; i++) { console.log(i + "," + points[i]) document.write(i + "," + points[i]+"
") } } ``` ### 环境依赖: - pyecharts 1.9.0 - numpy 1.19.2 **pyecharts源码安装(请使用本项目中的源码)** ```shell $ cd pyecharts $ pip install -r requirements.txt $ python setup.py install ``` ### 结果展示图样例: ![img.png](img.png)