Apache ECharts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而Python是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生了。
弦图也是可视化网络关系常用的一种可视化方法,在pyecharts库中可以通过Graph()可视化弦图(网络图)。下面的程序中使用《三国演义》人物关系网络数据,首先读取数据并进行简单的预处理,读取的数据包含节点数据表格和边连接数据表格,为了使用pyecharts库进数据可视化,需要将边数据中对应的节点名称映射为整数数字,对应的处理方式和输出结果如下:
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
## 导入需要的库
import numpy as np
import pandas as pd
import os
import json
from pyecharts import options as opts
from pyecharts.charts import Graph
In[1]:## 网络图数据准备,读取节点数据表格和边数据表格
nodedf = pd.read_csv("data/chap5/TK_nodedf.csv")
edgedf = pd.read_csv("data/chap5/TK_edagedf.csv")
print(nodedf.head())
print(edgedf.head())
Out[1]: name group freq size
0 曹操 曹魏 945 14
1 曹洪 曹魏 93 9
2 程普 孙吴 74 9
3 程昱 曹魏 44 8
4 典韦 曹魏 45 8
from to cor
0 曹操 荀彧