如何解决如何绘制二部图
如果我想像这张图片一样模拟我的网络,但是 Bipartite = 4 并将我的节点增加到 600 个节点(n=150 l =150 s=150 和 m=150)并且还有 685 条随机边......怎么能编写模拟代码来制作这个网络?谁能帮我 ? auctions/apps.py
from django.apps import AppConfig
class AuctionsConfig(AppConfig):
name = 'auctions'
def ready(self):
import auctions.signals
非常感谢您的关注
还有这张图片在这里编码
enter code here
解决方法
您想绘制一个 4 部分图。您可以将上面的代码概括为 k 部分图,其中 k=4,如下所示,使用以下代码(您可以根据需要更改节点颜色、类型和字体颜色)。
B = nx.Graph()
nodes = {}
k = 4
n = 150
ne = 685
e = 229 # since you want total 685 edges,you can have ~229 edges in between two
# adjacent sets of nodes
for i in range(k):
nodes[i] = list(range(n*i,n*(i+1)))
for i in range(k):
B.add_nodes_from(nodes[i],bipartite=k)
edges = []
for j in range(k-1):
for i in range(e):
edges.append((random.choice(nodes[j]),random.choice(nodes[j+1])))
B.add_edges_from(edges[:ne])
pos = dict()
for j in range(k):
pos.update( (n,(j,i)) for i,n in enumerate(nodes[j]) )
plt.figure(figsize=(20,40))
nx.draw_networkx(B,pos=pos)
plt.axis('off')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。