Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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 如何更改NetowrkX图形中边线的大小_Python_Networkx - Fatal编程技术网

Python 如何更改NetowrkX图形中边线的大小

Python 如何更改NetowrkX图形中边线的大小,python,networkx,Python,Networkx,我有一个网络树的图像,我只想使每个节点之间的线变小,因为如果我有一个巨大的网络,这条线将太大,并使其他节点在文本中变小 附言:我在用字典来做图表 边的大小有两个概念上不同的方面-宽度和长度。宽度是可配置的,可以很容易地设置每条边,而长度是由节点的位置定义的 要更改边的宽度,请调用draw_networkx_edges,并使用接受浮点(用于恒定边大小)或浮点数组的“width”参数 可以通过更改布局(由“pos”参数设置)来更改边的长度。布局定义了每个节点的位置 由于您有一棵树,合理的选择是使用

我有一个网络树的图像,我只想使每个节点之间的线变小,因为如果我有一个巨大的网络,这条线将太大,并使其他节点在文本中变小

附言:我在用字典来做图表


边的大小有两个概念上不同的方面-宽度长度。宽度是可配置的,可以很容易地设置每条边,而长度是由节点的位置定义的

要更改边的宽度,请调用draw_networkx_edges,并使用接受浮点(用于恒定边大小)或浮点数组的“width”参数

可以通过更改布局(由“pos”参数设置)来更改边的长度。布局定义了每个节点的位置

由于您有一棵树,合理的选择是使用“点”定位,如下所示:

import networkx as nx
import matplotlib.pyplot as plt

T = nx.DiGraph()
T.add_edges_from([(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)])
pos = nx.nx_pydot.pydot_layout(T, prog='dot')
nx.draw_networkx(T, pos=pos, arrows= True)
plt.show()
如果您有意选择“fruchterman\u reingold\u布局”(又名spring\u布局),则可以使用“k”参数设置节点之间的正确距离。根据文件:

k:浮动(默认值=无) 节点之间的最佳距离。如果没有,则距离设置为 1/sqrt(n),其中n是节点数。增加此值 将节点移动得更远


边的大小有两个概念上不同的方面-宽度长度。宽度是可配置的,可以很容易地设置每条边,而长度是由节点的位置定义的

要更改边的宽度,请调用draw_networkx_edges,并使用接受浮点(用于恒定边大小)或浮点数组的“width”参数

可以通过更改布局(由“pos”参数设置)来更改边的长度。布局定义了每个节点的位置

由于您有一棵树,合理的选择是使用“点”定位,如下所示:

import networkx as nx
import matplotlib.pyplot as plt

T = nx.DiGraph()
T.add_edges_from([(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)])
pos = nx.nx_pydot.pydot_layout(T, prog='dot')
nx.draw_networkx(T, pos=pos, arrows= True)
plt.show()
如果您有意选择“fruchterman\u reingold\u布局”(又名spring\u布局),则可以使用“k”参数设置节点之间的正确距离。根据文件:

k:浮动(默认值=无) 节点之间的最佳距离。如果没有,则距离设置为 1/sqrt(n),其中n是节点数。增加此值 将节点移动得更远


我真的不明白这个问题,我担心-难道不简单地将
字体大小增加到20或30有帮助吗?问题是我不知道网络有多大,例如每个客户端都有自己的网络拓扑,因此,如果边缘线很大,固定边缘线的大小会有帮助。我担心我真的不明白问题所在-不是简单地将
font\u size
增加到例如20或30帮助吗?问题是我不知道网络有多大,例如每个客户端都有自己的网络拓扑,因此,如果边缘线较大,则固定边缘线的大小将有所帮助。事实上,字典始终是一个变量,因为我的每个客户端都有不同的网络拓扑,因此我无法每次手动放置固定位置。例如,1个客户端可能有10个节点,其他20个节点。您不需要有固定的位置,将根据一些定位算法和一些参数为每个实例生成
pos
。例如,如果您使用
pydot\u布局
,无论具体的拓扑结构如何,您都可能会得到一个显示良好的树。是的,我想,因为使用spring布局,我在重叠方面遇到了一些问题,所以拓扑结构是错误的,但当我将布局更改为另一个布局时,效果很好。问题是字典始终是一个变量,因为我的每个客户端都有不同的网络拓扑,所以我无法每次手动放置固定位置。例如,1个客户端可能有10个节点,其他20个节点。您不需要有固定的位置,将根据一些定位算法和一些参数为每个实例生成
pos
。例如,如果您使用
pydot\u布局
,您可能会得到一个很好的显示树,而不考虑具体的拓扑结构。是的,我想,因为使用spring布局时,我在重叠方面遇到了一些问题,所以拓扑结构是错误的,但当我将布局更改为另一个布局时,它工作正常。