如何在Python中使用pyecharts绘制关联图

  介绍

今天就跟大家聊聊有关如何在Python中使用pyecharts绘制关联图,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

画图的步骤主要分为:

1。将距离数据(或者相关数据)读入;

2。按照一定的格式和参数将数据保存为json字符串;

3。根据json串,绘制关联图。

具体而言,主要的是:

& lt; 1祝辞。首先有一批数据,如图所示:

如何在Python中使用pyecharts绘制关联图

& lt; 2祝辞。导入所需要的包

进口json
熊猫作为pd导入随机

进口进口复制

& lt; 3祝辞。产生颜色随机值的函数

#,随机颜色   def  randomcolor_func ():   color_char 才能=,(& # 39;1 & # 39;& # 39;2 & # 39;,& # 39;3 & # 39;,& # 39;4 & # 39;,& # 39;5 & # 39;,& # 39;6 & # 39;,& # 39;7 & # 39;,& # 39;8 & # 39;,& # 39;9 & # 39;,& # 39;一个# 39;,& # 39;b # 39;, & # 39; c # 39;, & # 39; d # 39;, & # 39; e # 39;, & # 39; f # 39;】   color_code 才能=,““   for 才能小姐:拷贝范围(6):   ,,,color_code  +=, color_char [random.randint (0, 14)], #, randint包括前后节点0和14   return 才能“#“+ color_code

& lt; 4祝辞。生成随机坐标

#,随机坐标   #生成随机数,浮点类型   def  generate_position (n):   #,,n =10   for 才能小姐:拷贝范围(n):   ,,,x =,圆(random.uniform(-2000,, 2000), 5), #一定范围内的随机数,范围可变   ,,,y =,圆(random.uniform(-2000,, 2000), 5), #控制随机数的精度圆(数值,精度)   return 才能,x,, y

& lt; 5祝辞。生成json格式的节点数据

def  create_json(数据,重量):   #,才能自定义节点   address_dict 才能=,{“nodes": [],“edges": []}   node_dict 才能=,{   ,,,,“color":,““,   ,,,,“label":,““,   ,,,,“attributes":, {},   ,,,,“y":,,   ,,,,“x":,,   ,,,,“id":,““,   ,,,,“size":没有   ,,,}   edge_dict 才能=,{   ,,,,“sourceID":,““,   ,,,,“attributes":, {},   ,,,,“targetID":,““,   ,,,,“size":没有   ,,,}   ,,   #,才能给节点赋值   for 才能;ii 拷贝范围(len(数据)):   ,,,for  jj 拷贝范围(len (data.iloc [2])):   ,,,,,#,节点,“attributes"属性可自行设置   ,,,,,node_dict [r" color"],=, randomcolor_func ()   ,,,,,node_dict [r" label"],=, data.iloc[二世,jj]   ,,,,,x,, y =, generate_position (1)   ,,,,,node_dict (r" y"), y=,   ,,,,,node_dict [r" x"],=, x   ,,,,,node_dict [r" id"],=, data.iloc[二世,jj]   ,,,,,node_dict [r" size"],=, int (weights.loc [data.iloc[二世,jj]])   ,,,,,   ,,,,,tmp_node =, copy.deepcopy (node_dict)   ,,,,,address_dict [r" nodes"] .append (tmp_node)   ,,,,,   for 才能;ii 拷贝范围(len(数据)):   ,,,for  jj 拷贝范围(1,len (data.iloc [2])):,,,,   ,,,,,#,优势   ,,,,,edge_dict [r" sourceID"],=, data.iloc (ii, 0)   ,,,,,edge_dict [r" targetID"],=, data.iloc[二世,jj]   ,,,,,edge_dict [r" size"],=, 2   ,,,,,   ,,,,,tmp_edge =, copy.deepcopy (edge_dict)   ,,,,,address_dict [“edges"] .append (tmp_edge)   ,,   return 才能address_dict

& lt; 6祝辞。主函数生成json数据

if  __name__ ==, & # 39; __main__ # 39;:,   #,才能read 数据   时间=data 才能;pd.read_excel (" # 39; test_josn_data.xlsx& # 39;,, 0)   ,,   weights 才能=,pd.DataFrame({“词频“:[100年,40岁,30岁,20日,90年,50岁,35岁,14岁,85年,38岁,29岁,10]},,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Python中使用pyecharts绘制关联图