def initUI(self):
scene = QtGui.QGraphicsScene(self)
scene.setItemIndexMethod(QtGui.QGraphicsScene.NoIndex)
self.setScene(scene)
self.NodeIds = []
self.centrality = []
self.Scene_to_be_updated = scene
self.setCacheMode(QtGui.QGraphicsView.CacheBackground)
self.setRenderHint(QtGui.QPainter.Antialiasing)
self.setInteractive(True)
self.setTransformationAnchor(QtGui.QGraphicsView.AnchorUnderMouse)
self.setResizeAnchor(QtGui.QGraphicsView.AnchorViewCenter)
self.setDragMode(QtGui.QGraphicsView.ScrollHandDrag)
i = 0
self.communityPos = nx.nx_pydot.graphviz_layout(self.induced_graph,prog='fdp',args='-Gsep=.25,-GK=20-Eweight=2')
# self.communityPos = nx.spring_layout(self.induced_graph,pos=self.Pos,weight='weight',scale=450)
for node in self.induced_graph.nodes():
i = i + 1
node_value=Node(self.Graph,i,self.correlationTableObject,True)
self.NodeIds.append(node_value)
scene.addItem(node_value)
x,y=self.communityPos[node]
node_value.setPos(x,y)
node_value.PutColor(self.clut[i-1])
k =0
for i,j in self.induced_graph.edges():
Weight = self.induced_graph[i][j]['weight']
Edge_Value = 1+(float(Weight-self.Min1)/(self.Max1 - self.Min1))*5
scene.addItem(Edge(self.Graph,self.NodeIds[i],self.NodeIds[j],k, i,j,self.Max,((self.Matrix[j,i]-self.Min1)/(self.Max1 - self.Min1))*5,True))
k = k + 1
self.setSceneRect(self.Scene_to_be_updated.itemsBoundingRect())
self.setScene(self.Scene_to_be_updated)
self.fitInView(self.Scene_to_be_updated.itemsBoundingRect(),QtCore.Qt.KeepAspectRatio)
self.scaleView(math.pow(2.5, -900 / 1040.0))
self.nodes = [item for item in scene.items() if isinstance(item, Node)]
self.edges = [item for item in scene.items() if isinstance(item, Edge)]
communityDetectionEngine.py 文件源码
python
阅读 28
收藏 0
点赞 0
评论 0
评论列表
文章目录