pyecharts导演人物关系图

本文介绍了如何利用Python的pyecharts库,从豆瓣TOP250电影数据中提取导演与演员的关联关系,并生成关系图的json文件。首先,对数据进行预处理,包括清洗、合并和去重。接着,生成json数据,包括节点和边的信息。然后,将数据转换为json格式,并绘制关系图。最后,展示了生成的关系图HTML页面,呈现了中国电影导演与演员的网络关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

帮别人做了一个小作业,需要根据豆瓣TOP250的电影信息,提取需要人物关联关系,并生成节点链接网格图绘制需要的json文件,用关系图描述导演和演员的联系。
其中,节点大小编码映射该节点与其他人物链接关系次数

数据集样式:
TOP250电影数据包含字段:片名、上映年份、评分、评价人数、导演、编剧、主演、类型、国家/地区、时长等


一、pyecharts是什么?

Echarts是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而python是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上了数据可视化时,pyecharts诞生了。

pyecharts官网:https://pyecharts.org/#/zh-cn/intro

安装:pip install pyecharts


二、操作步骤

所有电影数据全部绘制出来,可能数据量比较大,先在原表格筛选出中国的数据,所以这里先绘制“中国”的电影导演人物关联关系。
在这里插入图片描述


1.导入包

import pandas as pd
import json
import random
from pyecharts import options as opts
from pyecharts.charts import Graph

2.数据预处理

1、如《霸王别姬》主演数据信息:张国荣 / 张丰毅 / 巩俐 / 葛优 / 英达 / 蒋雯丽 / 吴大维 / 吕齐 / 雷汉 / 尹治 / 马明威 / 费振翔 / 智一桐 / 李春 / 赵海龙 / 李丹 / 童弟 / 沈慧芬 / 黄斐 / 徐杰
‘/’前后都带了空格,需要把前后空格替换

2、以‘/’为分隔符,把多个导演的分隔开,设置成“第一导演”“第二导演”…

3、同一主演可能出演了另一部电影,所以需要合并去重

4、最后生成一个新的表格,一个导演对应所有的主演
在这里插入图片描述

代码如下:

	df['导演'] = df['导演'].str.replace(' / ', '/')
    df['主演'] = df['主演'].str.replace(' / ', '/')
    df=df[['导演','主演']]

    three_dy=pd.DataFrame((x.split('/') for x in df['导演']),index=df.index,columns=['第一导演','第二导演','第三导演'])
    new=pd.merge(df,three_dy,left_index=True,right_index=True)
    new=new.drop(columns = ['导演'])

    dy1=new[['第一导演','主演']]
    dy1.rename(columns={
   '第一导演':'导演'}, inplace = True)
    dy2=new[['第二导演','主演']]
    dy2.rename(columns={
   '第二导演':'导演'}, inplace = True)
    dy2=dy2.dropna()
    dy3=new[['第三导演','主演']]
    dy3.rename(columns={
   '第三导演':'导演'}, inplace = True)
    dy3=dy3.dropna()

    one_dy=pd.concat([dy1,dy2],axis=0,join='outer')
    one_dy=pd.concat([one_dy,dy3],axis=
Pyecharts是一个基于Python的数据可视化库,可以用来创建各种类型的表,包括关系图。要实现西游记人物关系,可以按照以下步骤进行: 1. 安装Pyecharts库:可以使用pip命令在命令行中安装Pyecharts库,如下所示: ``` pip install pyecharts ``` 2. 导入所需的模块:在Python脚本中导入所需的模块,如下所示: ```python from pyecharts import options as opts from pyecharts.charts import Graph ``` 3. 创建关系图对象:使用Graph类创建一个关系图对象,如下所示: ```python graph = Graph() ``` 4. 添加节点和边:使用add方法添加节点和边,如下所示: ```python nodes = [ {"name": "孙悟空", "symbolSize": 50}, {"name": "猪八戒", "symbolSize": 30}, {"name": "沙僧", "symbolSize": 30}, {"name": "唐僧", "symbolSize": 40} ] edges = [ {"source": "孙悟空", "target": "猪八戒"}, {"source": "孙悟空", "target": "沙僧"}, {"source": "孙悟空", "target": "唐僧"} ] graph.add("", nodes, edges) ``` 5. 设置表属性:使用set_global_opts方法设置表的全局属性,如下所示: ```python graph.set_global_opts(title_opts=opts.TitleOpts(title="西游记人物关系")) ``` 6. 生成并保存表:使用render方法生成并保存表,如下所示: ```python graph.render("west_journey.html") ``` 以上是使用Pyecharts实现西游记人物关系的基本步骤。你可以根据实际需求进行节点和边的添加,以及设置其他表属性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值