Python 为什么NetworkX使用存根绘制有向图边?

Python 为什么NetworkX使用存根绘制有向图边?,python,matplotlib,networkx,Python,Matplotlib,Networkx,函数draw_NetworkX_Edge声明的NetworkX文档: 对于有向图,箭头实际上只是在前端绘制了较厚的短截线。。。是的,这很难看,但是用Matplotlib绘制正确的箭头很棘手 上次我检查的时候,一点也不棘手。有人知道绘制存根的真正原因吗?我不能确定,但如果您查看代码中如何绘制边,它是从一个节点位置到另一个节点位置的线段。节点绘制在边的顶部。如果节点较大,它将完全覆盖箭头,除非它是一个巨大的箭头;即使节点不大,它也会覆盖箭头的尖端,这看起来很糟糕。在末尾使用较粗的线条可以使这些问题变

函数draw_NetworkX_Edge声明的NetworkX文档:

对于有向图,箭头实际上只是在前端绘制了较厚的短截线。。。是的,这很难看,但是用Matplotlib绘制正确的箭头很棘手


上次我检查的时候,一点也不棘手。有人知道绘制存根的真正原因吗?

我不能确定,但如果您查看代码中如何绘制边,它是从一个节点位置到另一个节点位置的线段。节点绘制在边的顶部。如果节点较大,它将完全覆盖箭头,除非它是一个巨大的箭头;即使节点不大,它也会覆盖箭头的尖端,这看起来很糟糕。在末尾使用较粗的线条可以使这些问题变得不那么糟糕


另一种方法是找出如何使箭头末端位于它所指向的节点的边界处。当然,绘制边时,可能尚未绘制该节点。因此,您需要根据用户决定创建节点的大小动态更改箭头位置。我认为这可能是非常困难的,至少我不知道怎么做。