我制作了一个使用matplotlib绘制二叉树的程序,它非常适合小树。但是,当树木变大时,图中就会有很多重叠。我想知道如何改善在x轴上隔开节点的方式,以防止它们重叠。
我为spacing
尝试了不同的值,但这是我想到的最好的值。
def getPoints(self, x=0, y=0, spacing=0, n=1):
res = []
if self.left:
res = res + self.left.getPoints(x-1-spacing, y-1, spacing+(1/(n+1)), n+1)
res.append((x, y, self.data))
if self.right:
res = res + self.right.getPoints(x+1+spacing, y-1, spacing+(1/n), n+1)
return res
答案 0 :(得分:0)
我解决了节点数量过多的问题。我在节点类中添加了$user = User::find($request['id']);
$user->polls()->sync($request['pool_ids']); //$request['pool_ids'] -> ["6","7"]
来跟踪它在哪一层上,并在检查中添加了它以查看它在树的哪一侧上,以便节点的指向不会偏离树的另一侧。
self.layers