Changeset 7914:1bd31ea8cc66 in orange


Ignore:
Timestamp:
05/19/11 11:21:14 (3 years ago)
Author:
miha <miha.stajdohar@…>
Branch:
default
Convert:
c6a990e2775da6572ce84469455795a830c85958
Message:

Fixed some bugs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Prototypes/OWModelMap.py

    r7909 r7914  
    99import scipy.stats 
    1010 
     11import Orange 
    1112import orange 
    1213import orngVizRank 
     
    237238        items = self.visualizer.graph.items 
    238239        maxsize = str(max(map(int, ICON_SIZES))) 
     240        minsize = min(map(int, ICON_SIZES)) 
    239241        for v in self.vertices: 
    240             size = maxsize 
     242            size = str(minsize) if v.size <= minsize else maxsize 
     243             
    241244            for i in range(len(ICON_SIZES) - 1): 
    242245                if int(ICON_SIZES[i]) < v.size <= int(ICON_SIZES[i+1]): 
     
    267270                    "maxComponentEdgeWidth", "mdsFromCurrentPos"] 
    268271     
    269     def __init__(self, parent=None, signalManager=None, name="Meta Miner"): 
     272    def __init__(self, parent=None, signalManager=None, name="Model Map"): 
    270273        OWNetExplorer.__init__(self, parent, signalManager, name,  
    271274                               NetworkCanvas=OWModelMapCanvas) 
     
    281284        self.minVertexSize = 16 
    282285        self.maxVertexSize = 16 
    283         self.tabIndex = 0 
    284         self.vertexSizeAttribute = 0 
    285286        self.lastColorAttribute = "" 
    286287        self.lastSizeAttribute = "" 
     
    311312        self.histogram = OWHist(self, boxHistogram) 
    312313        boxHistogram.layout().addWidget(self.histogram) 
    313          
    314         # NETWORK CONTROLS 
    315         # remove stretch that was added to the tab in OWNetExplorer 
    316         vtl = self.verticesTab.layout() 
    317         vtl.removeItem(vtl.takeAt(vtl.count() - 1)) 
    318         self.sizeAttributeCombo = OWGUI.comboBox(self.verticesTab, self,  
    319                           "vertexSizeAttribute", box = "Vertex size attribute",  
    320                           callback=self.setMaxVertexSize) 
    321         self.sizeAttributeCombo.addItem("(none)") 
    322         OWGUI.spin(self.sizeAttributeCombo.box, self, "minVertexSize", 16, 80, 2, label="Min vertex size:", callback = self.setMaxVertexSize) 
    323         OWGUI.spin(self.sizeAttributeCombo.box, self, "maxVertexSize", 16, 80, 2, label="Max vertex size:", callback = self.setMaxVertexSize) 
    324314         
    325315        # VISUALIZATION CONTROLS 
     
    333323        self.predGraph.numberOfBars = 2 
    334324        self.predGraph.barSize = 200 / (self.predGraph.numberOfBars + 1) 
    335         #self.infoCA = OWGUI.widgetLabel(vizPredAcc, 'CA: ') 
    336         #self.infoAUC = OWGUI.widgetLabel(vizPredAcc, 'AUC: ') 
    337325        vizPredAcc.layout().addWidget(self.predGraph) 
    338326         
     
    342330        self.attrDifferenceBox = OWGUI.listBox(vizPredAcc, self, "attrDifference", "attrDifferenceList", "Attribute difference", selectionMode=QListWidget.NoSelection) 
    343331         
    344         self.verticesTab.layout().addStretch(1) 
     332        self.attBox.setVisible(0) 
     333         
    345334        self.matrixTab.layout().addStretch(1) 
    346335        self.modelTab.layout().addStretch(1) 
    347         self.setMinimumWidth(600) 
    348         self.resize(800, self.height()) 
     336        self.setMinimumWidth(900) 
     337        self.controlArea.setMinimumWidth(378) 
    349338         
    350339    def plotAccuracy(self, vertices=None): 
     
    381370        self.attrDifferenceList = [] 
    382371         
    383         if vertices == None or len(vertices) == 0: 
     372        if vertices is None or len(vertices) == 0: 
    384373            return 
    385374         
     
    409398            self.networkCanvas.vizAttributes = None 
    410399            self.displayAttributeInfo(None) 
    411  
    412     def currentTabChanged(self, index):  
    413         self.tabIndex = index 
    414400             
    415401    def setSubsetModels(self, subsetData): 
     
    450436            ex["attributes"] = ", ".join(sorted(ex["attributes"].value.split(", "))) 
    451437            self.networkCanvas.vertices[i].uuid = ex["uuid"].value 
    452              
    453     def setMaxVertexSize(self): 
    454         if self.networkCanvas == None: 
    455             return 
    456          
    457         if self.minVertexSize > self.maxVertexSize: 
    458             self.maxVertexSize = self.minVertexSize 
    459          
    460         self.networkCanvas.minVertexSize = self.minVertexSize 
    461         self.networkCanvas.maxVertexSize = self.maxVertexSize 
    462          
    463         print self.vertexSizeAttribute 
    464         if self.vertexSizeAttribute > 0: 
    465             self.lastSizeAttribute = self.sizeAttributeCombo.currentText() 
    466             self.networkCanvas.setVerticesSize(self.lastSizeAttribute) 
    467         else: 
    468             self.networkCanvas.setVerticesSize() 
    469          
     438 
     439    def setVertexSize(self): 
     440        OWNetExplorer.setVertexSize(self) 
    470441        self.networkCanvas.loadIcons() 
    471442        self.networkCanvas.replot() 
     
    474445        for v in self.networkCanvas.vertices: 
    475446            auc = self.matrix.items[v.index]["AUC"].value 
    476             v.style = 1#auc             
     447            v.style = 1 #auc             
    477448         
    478449    def sendNetworkSignals(self): 
     
    519490             
    520491    def setVertexColor(self): 
    521         if self.optimization == None: 
     492        if self.optimization is None or self.networkCanvas is None: 
    522493            return 
    523494         
     
    529500    def sendSignals(self): 
    530501        if self.graph != None: 
    531             self.optimization = orngNetwork.NetworkOptimization(self.graph) 
    532             self.optimization.vertexDistance = self.matrix 
    533             self.networkCanvas.addVisualizer(self.optimization) 
    534             self.networkCanvas.setLabelText(["attributes"])     
    535             self.sizeAttributeCombo.clear() 
    536             self.colorCombo.clear() 
    537             self.sizeAttributeCombo.addItem("(same size)") 
    538             self.colorCombo.addItem("(same color)") 
    539             vars = self.optimization.getVars() 
    540             for var in vars: 
    541                 if var.varType in [orange.VarTypes.Discrete, orange.VarTypes.Continuous]: 
    542                     self.colorCombo.addItem(self.icons[var.varType], unicode(var.name)) 
    543              
    544                 if var.varType in [orange.VarTypes.Continuous]: 
    545                     self.sizeAttributeCombo.addItem(self.icons[var.varType], unicode(var.name)) 
    546              
    547             index = self.sizeAttributeCombo.findText(self.lastSizeAttribute) 
    548             if index > -1: 
    549                 self.sizeAttributeCombo.setCurrentIndex(index) 
    550                 self.vertexSizeAttribute = index 
    551                  
    552             index = self.colorCombo.findText(self.lastColorAttribute) 
    553             if index > -1: 
    554                 self.colorCombo.setCurrentIndex(index) 
    555                 self.colorAttribute = index 
    556                  
    557             self.setMaxVertexSize() 
     502            self.setGraph(self.graph) 
     503            self.setVertexDistance(self.matrix) 
     504            # TODO clickedAttLstBox -> setLabelText(["attributes"] 
     505             
     506            self.setVertexSize() 
    558507            self.setVertexStyle() 
    559508            self.setVertexColor() 
     
    574523            self.predGraph.setShowXaxisTitle(True) 
    575524            self.predGraph.replot() 
    576              
    577             self.optLayout()  
    578          
     525 
     526if __name__=="__main__":     
     527    import OWModelFile 
     528    import pickle 
     529    modelName = 'zoo-168' 
     530    root = 'c:\\Users\\miha\\Projects\\res\\metamining\\' 
     531     
     532    appl = QApplication(sys.argv) 
     533    ow = OWModelMap() 
     534    ow.show() 
     535    mroot = '%snew\\' % root 
     536    matrix,labels,data = OWModelFile.readMatrix('%s%s.npy' % (mroot,modelName)) 
     537    if os.path.exists('%s%s.tab' % (mroot, modelName)): 
     538        matrix.items = orange.ExampleTable('%s%s.tab' % (mroot, modelName)) 
     539    else: 
     540        print 'ExampleTable %s not found!\n' % ('%s%s.tab' % (mroot,modelName)) 
     541    if os.path.exists('%s%s.res' % (mroot, modelName)): 
     542        matrix.results = pickle.load(open('%s%s.res' % \ 
     543                                               (mroot, modelName), 'rb')) 
     544    else: 
     545        print 'Results pickle %s not found!\n' % \ 
     546              ('%s%s.res' % (mroot, modelName)) 
     547     
     548    matrix.originalData = Orange.data.Table('%stab\\zoo.tab' % root) 
     549    ow.setMatrix(matrix) 
     550    appl.exec_() 
     551     
     552     
Note: See TracChangeset for help on using the changeset viewer.