我正在处理一个图,该图的(x,y)节点坐标是从0-100随机选择的。如果我仅使用nx.draw()绘制图形并传递原始坐标,就可以了,但是如果我尝试以与坐标相关的方式来绘制某些节点大小,则看起来显然不一致。
看起来draw()中的节点位置参数与节点大小的单位不同,以像素为单位。可悲的是,NetworkX文档中没有关于位置单位的任何信息...
答案 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
会是什么样子。