【python】pyecharts-Graph - Graph_weibo数据格式

首先看到官方例子代码及其效果图

# 官网例子
import json

from pyecharts import options as opts
from pyecharts.charts import Graph

with open("weibo.json", "r", encoding="utf-8") as f:
    j = json.load(f)
    nodes, links, categories, cont, mid, userl = j
c = (
    Graph()
    .add(
        "",
        nodes,
        links,
        categories,
        repulsion=50,
        linestyle_opts=opts.LineStyleOpts(curve=0.2),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        legend_opts=opts.LegendOpts(is_show=False),
        title_opts=opts.TitleOpts(title="Graph-微博转发关系图"),
    )
    .render("graph_weibo.html")
)

在这里插入图片描述

例子中的weibo.json文件是一个list,这个list又主要包括node,link,category这三个部分。

node

node是一个节点的列表,每个节点包括以下信息:
(注:每个节点信息以dict的形式储存)

{
        "name": "Camel3942",            # 节点名即博主昵称
        "symbolSize": 5,        		# 图中标志大小     
        "draggable": "False",        	# 是否可拖动
        "value": 1,        				# 被再次转发次数
        "category": "Camel3942",        # 个人理解是需要填写根微博
        "label": {	        # 此博主被再次转发后,含有此标签,否则不含
            "normal": {
                "show": "True"
            }
        }
    },

每个节点的名称不可以重复,否则,将会显示空白

link

link是边的列表,包括转发来源与转发用户,即父节点和子节点

 {
            "source": "新浪体育",
            "target": "Beijingold4"
        }

category

category为类别的列表,在参考[5]的解释是“所有被二次转发过的博主昵称”,个人处理是取了其转发来源的根节点

{
            "name": "Camel3942"
        }

另外从github上找到weibo.json的原文件可以发现该列表还包含三个元素weibo.json
因为没有用到,就把代码中的 cont, mid, userl删掉即可。


[1]Python:数据可视化pyecharts的使用,作者:JYRoy
[2]pyecharts 在地图上根据经纬度和量值,画出散点图/热力图
[3]pyecharts-gallery
[4]pyecharts graph(关系图) 官网例子weibo.json详解
[5]利用pyecharts绘制新浪微博传播图(文末附完整代码地址)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值