打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
牛批了,python也能做思维导图

转自:Python数据分析之禅


思维导图是一种形象的展示各级隶属关系的图形,它具有较强的逻辑性和可视性,能够帮助理清工作思路。

今天教大家如何用pyecharts画思维导图。

一、基本思维导图

from pyecharts import options as opts
from pyecharts.charts import Tree
data = [
    {
        'name''python变量',
        'children': [
            {'name''字符串',
            'children': [{'name''实例1:'abc''}, {'name''实例2:'123abc''}]},
            {'name''列表',
            'children': [{'name''实例1:[a,b,c]'}, {'name''实例2:'[1,2,3]'}]},
            {'name''字典',
            'children': [{'name''实例1:{1:'a','2':'b'}}'}, {'name''实例2:'{a:[1,2,3],'2':(1,2))}'}]},
            {'name''元组',
             'children': [{'name''实例1:(1,2,3)}'}, {'name''实例2:(a,b,c)'}]}
]}
]
c = (
    Tree()
    .add('', data)
)
c.render_notebook()

下面咱们解析一下数据格式:

整个数据是1个列表,列表内只有1个字典元素,字典以“name”为键的值为思维导图的起点,以“children”为键的值为name的下一节点,其值仍为列表格式,依次类推。

二、向左发散思维导图

from pyecharts import options as opts
from pyecharts.charts import Tree
data = [
    {
        'name''python变量',
        'children': [
            {'name''字符串',
            'children': [{'name''实例1:'abc''}, {'name''实例2:'123abc''}]},
            {'name''列表',
            'children': [{'name''实例1:[a,b,c]'}, {'name''实例2:'[1,2,3]'}]},
            {'name''字典',
            'children': [{'name''实例1:{1:'a','2':'b'}}'}, {'name''实例2:'{a:[1,2,3],'2':(1,2))}'}]},
            {'name''元组',
             'children': [{'name''实例1:(1,2,3)}'}, {'name''实例2:(a,b,c)'}]}
]}
]
c = (
    Tree()
    .add(''
        data,
        collapse_interval=3,
        layout = 'orthogonal',
        orient='LR',)
)
c.render_notebook()

参数介绍:

collapse_interval:代表分支之间的间隔  
orient:正交布局,对应有 水平 方向的 从左到右,从右到左;以及垂直方向的从上到下,从下到上。取值分别为 'LR' , 'RL''TB''BT'

三、径向分布思维导图

所谓径向,即是不像上面那种垂直或者水平分布,而是以根节点为圆心,每一层节点为环,一层层向外发散绘制而成的布局

from pyecharts import options as opts
from pyecharts.charts import Tree
data = [
    {
        'name''python变量',
        'children': [
            {'name''字符串',
            'children': [{'name''实例1:'abc''}, {'name''实例2:'123abc''}]},
            {'name''列表',
            'children': [{'name''实例1:[a,b,c]'}, {'name''实例2:'[1,2,3]'}]},
            {'name''字典',
            'children': [{'name''实例1:{1:'a','2':'b'}}'}, {'name''实例2:'{a:[1,2,3],'2':(1,2))}'}]},
            {'name''元组',
             'children': [{'name''实例1:(1,2,3)}'}, {'name''实例2:(a,b,c)'}]}
]}
]
c = (
    Tree()
    .add(''
        data,
        collapse_interval=3,
        layout='radial',)
)
c.render_notebook()

layout:代表布局,有2种形式,上述两种为'orthogonal'正交分布,'radial'代表径向分布,请大家注意,径向分布下orient参数是没有意义的

四、圆形思维导图

from pyecharts import options as opts
from pyecharts.charts import Tree
import requests,json
response=requests.get('https://echarts.apache.org/examples/data/asset/data/flare.json')
data=json.loads(response.text)
c = (
    Tree()
    .add(''
        data=[data],
        pos_top='18%',
        pos_bottom='14%',
        layout='radial',
        symbol='emptyCircle',
        symbol_size=7,)
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='item', trigger_on='mousemove')
    )
)
c.render_notebook()

参数介绍:

pos_top:tree组件离容器上侧的距离  
pos_bottom:tree 组件离容器下侧的距离  
symbol:标记的图形
symbol_size:标记的大小
感谢阅读
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
pyecharts数据可视化应用(二)
pyecharts python dataframe生成treemap
教你用pyecharts制作交互式桑基图,赶快学起来吧!
Python轻松实现地图可视化(附详细源码)
如何利用pyecharts绘制炫酷的关系网络图?
pyecharts库 | 关系图可视化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服