如何使用Python生成展示所有可能性的图形

时间:2019-04-10 13:56:14

标签: python-3.x matplotlib graph networkx

我需要编写一个python代码,使我能够生成彼此依赖的可能性树。实际上,如果我们有两个向量:a=[0, 1]b=[0, 1],我们可以构造4种不同的可能性:

  • (0, 0)
  • (0, 1)
  • (1, 0)
  • (1, 1)

如果我们将(0,0)作为父节点,则可以从(0, 0)到所有其他可能性:(0, 0) -> (0, 1), (1, 0), (1, 1)生成3条边。

然后,对于每种可能性,我们可以为其他可能性生成3条边,例如:

  • (0, 1) -> (0, 0), (1, 0), (1, 1)
  • (1, 0) -> (0, 0), (1, 1), (0, 1)
  • (1, 1) -> (0, 0), (1, 0), (0, 1)

我需要重复N次。结果应该是一棵树,其中每个非叶节点都有3个后继者-除当前以外的所有可能性。

1 个答案:

答案 0 :(得分:1)

图形的正确命名为complete graph。适用于Python的优秀图形处理库-CREATE TABLE Table1( OrderID int, CustomerID int, IsPaid varchar(03) ); CREATE TABLE Table2( CustomerID int, Cust_name varchar(255) ); INSERT INTO Table1 VALUES (1, 12, 'no'), (2, 12, 'yes'), (3, 13, 'no'), (4, 13, 'no'), (1, 14, 'yes'), (2, 14, 'yes'); INSERT INTO Table2 VALUES (12, 'John'), (13, 'Nick'), (14, 'Paul'); -具有生成此类图形的特殊功能: complete_graph

编辑1:我为您构建了可解决您问题的工作流程。您可以将其复制粘贴到Jupyter笔记本中,但请注意,您需要:

  • networkx
  • graphviz
  • pydot

要安装。

networkx

最后,您将获得此图:

enter image description here