《Python數據可視化之Matplotlib與Pyecharts》之旭日圖

11.6.2  繪製我的家庭樹旭日圖

爲了分析我的家庭的人員相互關係,繪製了我的家庭樹旭日圖,Python代碼如下:

# -*- coding: utf-8 -*-

 

#聲明Notebook類型,必須在引入pyecharts.charts等模塊前聲明

from pyecharts.globals import CurrentConfig, NotebookType

CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

 

from pyecharts import options as opts

from pyecharts.charts import Sunburst

 

def sunburst() -> Sunburst:

    data = [

        opts.SunburstItem(

            name="爺爺",

            children=[

                opts.SunburstItem(

                    name="李叔叔",

                    value=15,

                    children=[

                        opts.SunburstItem(name="表妹李詩詩", value=2),

                        opts.SunburstItem(

                            name="表哥李政",

                            value=5,

                            children=[opts.SunburstItem(name="表侄李佳", value=2)],

                        ),

                        opts.SunburstItem(name="表姐李詩", value=4),

                    ],

                ),

                opts.SunburstItem(

                    name="爸爸",

                    value=10,

                    children=[

                        opts.SunburstItem(name="", value=5),

                        opts.SunburstItem(name="哥哥李海", value=1),

                    ],

                ),

            ],

        ),

        opts.SunburstItem(

            name="三爺爺",

            children=[

                opts.SunburstItem(

                    name="李叔叔",

                    children=[

                        opts.SunburstItem(name="表哥李靖", value=1),

                        opts.SunburstItem(name="表妹李靜", value=2),

                    ],

                )

            ],

        ),

    ]

 

    c = (

        Sunburst()

        .add(series_name="我的家庭樹旭日圖", data_pair=data, radius=[0, "90%"])

        .set_global_opts(title_opts=opts.TitleOpts(title="我的家庭樹旭日圖"),

                         toolbox_opts=opts.ToolboxOpts())

        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}"))

    )

    return c

 

#第一次渲染時候調用load_javasrcript文件

sunburst().load_javascript()

#展示數據可視化圖表

sunburst().render_notebook()

在Jupyter lab中運行上述代碼,生成如圖11-6所示的旭日圖。

                                                                                             圖11-6  旭日圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章