visualization.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:cartographer 作者: pablodecm 项目源码 文件源码
def json_graph(model, categories=None, scales=None):
    json_dict = {}

    # build links json representation
    json_dict["links"] = []
    for s_node, t_node, n_common in model.links_:
        link_dict = {"source": str(s_node),
                     "target": str(t_node),
                     "n_common": n_common}
        json_dict["links"].append(link_dict)

    # node json representation
    json_dict["nodes"] = []
    for (p_n, p) in enumerate(model.nodes_):
        for (c_n, c) in enumerate(p):
            node_dict = {"id": str((p_n, c_n)),
                         "int_id": model.nodes_to_int_[(p_n, c_n)],
                         "color": 1,
                         "n_members": c.shape[0]}
            if categories is not None:
                for name, arr in categories.items():
                    node_dict[name] = int(mode(arr[c], axis=None)[0])
            if scales is not None:
                for name, arr in scales.items():
                    node_dict[name] = np.mean(arr[c], axis=None)
            json_dict["nodes"].append(node_dict)

    # list of categories and scales
    e_name = "categories_and_scales"
    json_dict[e_name] = []
    for c in (["int_id"] + (list(categories.keys()) if categories
                            is not None else [])):
        json_dict[e_name].append({"name": c, "type": "category"})
    for s in (list(scales.keys()) if scales is not None else []):
        json_dict[e_name].append({"name": s, "type": "scale"})

    return json.dumps(json_dict, indent=4)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号