나는이 문제를 해결했다. 나는 하위 클러스터의 계층을 포함하고 직사각형으로 묘사 된 두 개의 독립 클러스터를 가지고있다. 그래프에 두 개의 클러스터를 추가하면 왼쪽에서 오른쪽으로 나타나지만 다른 클러스터의 상단에 하나씩 넣기를 원합니다. 각 클러스터에 노드를 추가 할 경우 세로 방향으로 가져 오려면. 그들은 스타일 수정 자에서 보이지 않게 할 수 있지만 레이블로 노드를 사용했습니다. 두 노드 사이에 모서리를 추가하면 두 클러스터가 모서리 길이를 최소화하는 가장 현명한 방법으로 방향을 지정하고 세로로 재 배열됩니다.
아래의 예제에서 나는 cluster1에 노드를 추가하고 cluster2에 노드를 추가 할 수 있기 때문에 필요하지 않은 두 개의 블록을 추가로 만들었지 만 내 다이어그램을 더 깔끔하게 만드는 둘러싼 블록을 발견했습니다.
예를 들어;
#Assume cluster1 and cluser2 exist
#Create enclosing cluster box
enclosingBlock1=pydot.Cluster('eb1', label='label1',shape='rectangle')
enclosingBlock1.add_subgraph(cluster1)
# Add node to enclosing cluster
node1=pydot.Node('D1',label='Diagram1')
enclosingBlock1.add_node(node1)
#Create second enclosing block
enclosingBlock2=pydot.Cluster('eb2', label='label2',shape='rectangle')
enclosingBlock2.add_subgraph(cluster2)
# Add the node and create the joining edge
node2=pydot.Node('D2',label='Diagram2')
enclosingBlock2.add_node(node2)
edge = pydot.Edge(node1,node2)
graph.add_subgraph(enclosingBlock1)
graph.add_subgraph(enclosingBlock2)
graph.add_edge(edge)
graph.write('xmlSQL.png',prog = 'dot',format = 'png')