NetworkX绘图:节点位置和大小之间的单位/比例不同?

时间:2018-11-28 20:06:06

标签: python matplotlib networkx

我正在处理一个图,该图的(x,y)节点坐标是从0-100随机选择的。如果我仅使用nx.draw()绘制图形并传递原始坐标,就可以了,但是如果我尝试以与坐标相关的方式来绘制某些节点大小,则看起来显然不一致。

看起来draw()中的节点位置参数与节点大小的单位不同,以像素为单位。可悲的是,NetworkX文档中没有关于位置单位的任何信息...

2 个答案:

答案 0 :(得分:0)

好,我知道了...

节点的位置参数是相对的,是绘图大小的0.0到1.0倍,而大小参数是绝对的,以像素为单位

答案 1 :(得分:0)

Networkx使用matplotlib绘制事物。它没有使用像素作为坐标,这是有充分理由的。

如果您的坐标值的范围是-0.01到0.01,它将生成一个图,该图将坐标的上限和下限缩放到足以容纳该上限和下限的程度,但又不会太大,以至于一切都变得很小情节的一点点。如果现在添加坐标值在100附近的点,它将重新缩放绘图以显示这些点。

考虑一下,如果matplotlib坚持要求y = x+1必须与一个像素相对应,那么在x中为(-0.5, 0.5)的{​​{1}}绘制线1会是什么样子。