Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Networkx标签易读性问题-市场篮子分析_Python_Networkx_Market Basket Analysis - Fatal编程技术网

Python Networkx标签易读性问题-市场篮子分析

Python Networkx标签易读性问题-市场篮子分析,python,networkx,market-basket-analysis,Python,Networkx,Market Basket Analysis,我试图使networkx循环图(python)的标签更清晰。下面是我的代码和视觉效果的当前状态。 我正试图更好地将我在进行的市场篮子分析中确定的关系形象化 有没有办法使标签更清晰易读,或者你会推荐一种不同的方法来可视化数据?谢谢 G = nx.from_pandas_edgelist(df4, 'antecedents', 'consequents') nx.draw(G, with_labels=True, node_size=100, node_color="skyblue", pos=nx

我试图使networkx循环图(python)的标签更清晰。下面是我的代码和视觉效果的当前状态。 我正试图更好地将我在进行的市场篮子分析中确定的关系形象化

有没有办法使标签更清晰易读,或者你会推荐一种不同的方法来可视化数据?谢谢

G = nx.from_pandas_edgelist(df4, 'antecedents', 'consequents')
nx.draw(G, with_labels=True, node_size=100, node_color="skyblue", pos=nx.circular_layout(G))

plt.figure(figsize=(50,50))

很难分析图形,但看起来圆形布局不适合。例如:

import networkx as nx

G = nx.fast_gnp_random_graph(50, 0.05)
nx.draw(G, pos=nx.circular_layout(G), node_size=50)

而spring布局正是针对此图:

nx.draw(G,pos=nx.spring\u布局(G),节点大小=50)

显示了更好的可视化效果


但是,如果您确实需要图形的圆形布局,您可以使用我的另一个答案中的一些技巧:

这将迫使
matplotlib
在巨大的图像表面上绘制图形:

import networkx as nx 
import matplotlib.pyplot as plt 

fig = plt.figure(figsize=(40, 40)) 
G = nx.fast_gnp_random_graph(300, 0.02, seed=1337) 
nx.draw(G, node_size=30) 
plt.axis('equal') 
plt.show() 
fig.savefig('waka.svg') 

我实现了你的代码并添加了标签;视觉效果现在更大/更分散,但关系现在可以区分。此外,spring布局似乎更合适。感谢您的帮助+洞察力!如果您能回答,我还有一个问题:是否可以减少线重叠(使用spring布局时?)我有3个大集群和几个小集群,我很好奇是否可以防止它们重叠。此外,是否有可能减少每个簇内的线重叠(例如,减少上面大型spring布局簇中的线重叠量)如果图形非常密集,则无法避免边缘重叠,如果有多个连接的组件,则可以分别可视化它们(按照链接查看那里的代码)。弹簧布局用于最小化重叠,因此图形图片是次优的。如果它仍然看起来不好,你应该玩边缘颜色,重量等。