pyecharts/example/tree_example.py
2019-03-26 13:22:40 +08:00

127 lines
3.2 KiB
Python

# coding=utf-8
import json
import os
from example.commons import Collector
from pyecharts import options as opts
from pyecharts.charts import Page, Tree
C = Collector()
@C.funcs
def tree_base() -> Tree:
data = [
{
"children": [
{"name": "B"},
{
"children": [
{"children": [{"name": "I"}], "name": "E"},
{"name": "F"},
],
"name": "C",
},
{
"children": [
{"children": [{"name": "J"}, {"name": "K"}], "name": "G"},
{"name": "H"},
],
"name": "D",
},
],
"name": "A",
}
]
c = (
Tree()
.add("", data)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-基本示例"))
)
return c
@C.funcs
def tree_lr() -> Tree:
with open(os.path.join("fixtures", "flare.json"), "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add("", [j], collapse_interval=2)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-左右方向"))
)
return c
@C.funcs
def tree_rl() -> Tree:
with open(os.path.join("fixtures", "flare.json"), "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add("", [j], collapse_interval=2, orient="RL")
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-右左方向"))
)
return c
@C.funcs
def tree_tb() -> Tree:
with open(os.path.join("fixtures", "flare.json"), "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add(
"",
[j],
collapse_interval=2,
orient="TB",
label_opts=opts.LabelOpts(
position="top",
horizontal_align="right",
vertical_align="middle",
rotate=-90,
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-上下方向"))
)
return c
@C.funcs
def tree_bt() -> Tree:
with open(os.path.join("fixtures", "flare.json"), "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add(
"",
[j],
collapse_interval=2,
orient="BT",
label_opts=opts.LabelOpts(
position="top",
horizontal_align="right",
vertical_align="middle",
rotate=-90,
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-下上方向"))
)
return c
@C.funcs
def tree_layout() -> Tree:
with open(os.path.join("fixtures", "flare.json"), "r", encoding="utf-8") as f:
j = json.load(f)
c = (
Tree()
.add("", [j], collapse_interval=2, layout="radial")
.set_global_opts(title_opts=opts.TitleOpts(title="Tree-Layout"))
)
return c
Page().add(*[fn() for fn, _ in C.charts]).render()