pyecharts/test/test_graph.py
2019-03-25 18:46:39 +08:00

60 lines
1.4 KiB
Python

#!/usr/bin/env python
# coding=utf-8
from __future__ import unicode_literals
import codecs
import json
import os
from pyecharts import Graph
nodes = [
{"name": "结点1", "symbolSize": 10},
{"name": "结点2", "symbolSize": 20},
{"name": "结点3", "symbolSize": 30},
{"name": "结点4", "symbolSize": 40},
{"name": "结点5", "symbolSize": 50},
{"name": "结点6", "symbolSize": 40},
{"name": "结点7", "symbolSize": 30},
{"name": "结点8", "symbolSize": 20},
]
def test_graph_circular_layout():
links = []
for i in nodes:
for j in nodes:
links.append({"source": i.get("name"), "target": j.get("name")})
graph = Graph("关系图-环形布局示例")
graph.add(
"",
nodes,
links,
is_label_show=True,
graph_repulsion=8000,
graph_layout="circular",
label_text_color=None,
)
graph.render()
def test_graph_official_data():
with codecs.open(
os.path.join("fixtures", "weibo.json"), "r", encoding="utf-8"
) as f:
j = json.load(f)
nodes, links, categories, cont, mid, _ = j
graph = Graph("微博转发关系图", width=1200, height=600)
graph.add(
"",
nodes,
links,
categories,
label_pos="right",
graph_repulsion=50,
is_legend_show=False,
line_curve=0.2,
label_text_color=None,
)
graph.render()