from pyecharts.charts import Sunburst
from pyecharts import options as opts
# 定义旭日图数据
data = [
opts.SunburstItem(
name="外祖父",
itemstyle_opts=opts.ItemStyleOpts(color="#22DB88"),
children=[
opts.SunburstItem(
name="姨妈",
itemstyle_opts=opts.ItemStyleOpts(color="#22DB88"),
value=15,
children=[
opts.SunburstItem(name="表妹张诗诗", value=2),
opts.SunburstItem(
name="表哥张政",
itemstyle_opts=opts.ItemStyleOpts(color="#22DB88"),
value=5,
children=[opts.SunburstItem(name="表侄张佳", value=2)],
),
opts.SunburstItem(name="表姐张意涵", value=4,
children=[opts.SunburstItem(name="表侄张文涛", value=2)]),
],
),
opts.SunburstItem(
name="爸爸妈妈",
value=10,
children=[
opts.SunburstItem(name="我", value=5),
opts.SunburstItem(name="哥哥张伟", value=3),
],
),
],
),
opts.SunburstItem(
name="外祖父",
children=[
opts.SunburstItem(
name="姨妈",
itemstyle_opts=opts.ItemStyleOpts(color="#45a5a9"),
value=15,
children=[
opts.SunburstItem(name="表妹张诗诗", value=2),
opts.SunburstItem(
name="表哥张政",
value=5,
children=[opts.SunburstItem(name="表侄张佳", value=2)],
),
opts.SunburstItem(name="表姐张意涵", value=4,
children=[opts.SunburstItem(name="表侄张文涛", value=2)]),
],
),
opts.SunburstItem(
name="爸爸妈妈",
value=10,
children=[
opts.SunburstItem(name="我", value=5),
opts.SunburstItem(name="哥哥张伟", value=3),
],
),
],
),
]
# 定义旭日图图表函数
def sunburst():
c = Sunburst()
c.add(
series_name="我的家庭成员旭日图",
data_pair=data,
radius=[0, "85%"],
highlight_policy="ancestor",
levels=[{},
{
"r0": "15%",
"r": "35%",
"itemStyle": {"borderWidth": 2, "color": "#45a5a9"},
"label": {"rotate": "tangential"},
},
{
"r0": "35%",
"r": "70%",
"label": {"align": "right"},
},
{
"r0": "70%",
"r": "85%",
"label": {"position": "outside", "padding": 3, "silent": False},
"itemStyle": {"borderWidth": 3},
},
]
)
c.set_global_opts(
title_opts=opts.TitleOpts(title="我的家庭成员旭日图"),
toolbox_opts=opts.ToolboxOpts()
)
c.set_series_opts(
label_opts=opts.LabelOpts(formatter="{b}")
)
return c
# 加载JavaScript(首次渲染时调用)
sunburst().load_javascript()
# 在Notebook中展示图表
sunburst().render_notebook()
# 渲染为HTML文件
sunburst().render("sunburst.html")第一层是祖父祖母,外祖父外祖母,第二层是,祖父祖母下面是姑妈姑丈,婶婶叔父,父亲母亲,外祖父外祖母下面是父亲母亲,舅母舅父,姨父姨母,第三层是姑妈姑丈下面是表兄表姐表弟表妹,婶婶叔父下面是堂兄堂姐堂弟堂妹,父母下面是哥哥嫂嫂弟弟妹妹,丈夫(我)妻子,姐姐姐夫妹妹妹夫,舅母舅舅下面是表兄表姐表弟表妹,姨父姨母下面是表兄表姐表弟表妹,第四层是哥哥嫂嫂弟弟妹妹下面是侄子侄女,丈夫(我)妻子下面是儿子儿媳,女儿女婿,姐姐姐夫妹妹妹夫下面是外甥外甥女,第五层是儿子儿媳下面是孙子孙女,女儿女婿下面是外孙外孙女颜色清爽点重复的名字不用管不要带姓名