source: orange/Orange/OrangeWidgets/Data/OWDataInfo.py @ 11719:d26fa6fe99b2

Revision 11719:d26fa6fe99b2, 3.3 KB checked in by blaz <blaz.zupan@…>, 7 months ago (diff)

Updated DESCRIPTION fields.

RevLine 
[8042]1"""<name>Info</name>
[11719]2<description>Shows some basic information about data set,
3including sample size, and number and type of features.</description>
[11217]4<icon>icons/DataInfo.svg</icon>
[9044]5<priority>80</priority>
[8042]6<contact>Ales Erjavec (ales.erjavec@fri.uni-lj.si)</contact>"""
7
8from OWWidget import *
9import OWGUI
10
11import orange
12import sys, os
13
14class OWDataInfo(OWWidget):
15    def __init__(self, parent=None, signalManager=None, name="Info"):
16        OWWidget.__init__(self, parent, signalManager, name, wantMainArea=0)
17       
[9546]18        self.inputs = [("Data", ExampleTable, self.data)]
[8042]19        self.rowcount = 0
20        self.columncount = 0
21        self.discattrcount = 0
22        self.contattrcount = 0
23        self.stringattrcount = 0
24        self.metaattrcount = 0
25        self.classattr = "No"
26       
27        box = OWGUI.widgetBox(self.controlArea, "Data Set Size", addSpace=True)
28        OWGUI.label(box, self, '<table><tr><td width="150">Samples (rows):</td><td align="right" width="60">%(rowcount)7i</td></tr>\
29                                <tr><td>Attributes (columns):</td><td align="right">%(columncount)7i</td></tr></table>')
30       
31        box = OWGUI.widgetBox(self.controlArea, "Attributes")
32        OWGUI.label(box, self, '<table><tr><td width="150">Discrete attributes:</td><td align="right" width="60">%(discattrcount)7i</td></tr>\
33                                <tr><td>Continuous attributes:</td><td align="right">%(contattrcount)7i</td></tr>\
34                                <tr><td>String attributes:</td><td align="right">%(stringattrcount)7i</td></tr>\
35                                <tr><td> </td></tr>\
36                                <tr><td>Meta attributes:</td><td align="right">%(metaattrcount)7i</td></tr>\
37                                <tr><td>Class attribute:</td><td align="right">%(classattr)7s</td></tr></table>')
38#        OWGUI.separator(box)
39#        OWGUI.label(box, self, '<table><tr><td width="100">Meta attributes:</td><td align="right" width="50">%(metaattrcount)7i</td></tr>\
40#                                <tr><td>Class attribute:</td><td align="right">%(classattr)7s</td></tr></table>')
41#       
42        OWGUI.rubber(self.controlArea)
43        self.resize(200, 200)
44       
45        self.loadSettings()
46       
47       
48    def data(self, data):
49        if data:
50            self.rowcount = len(data)
51            self.columncount = len(list(data.domain.attributes) + data.domain.getmetas().keys())
52            self.discattrcount = len([attr for attr in data.domain.attributes if attr.varType == orange.VarTypes.Discrete])
53            self.contattrcount = len([attr for attr in data.domain.attributes if attr.varType == orange.VarTypes.Continuous])
54            self.stringattrcount = len([attr for attr in data.domain.attributes if attr.varType == orange.VarTypes.String])
55            self.metaattrcount = len(data.domain.getmetas())
56            self.classattr = "Yes" if data.domain.classVar else "No"
57        else:
58            self.rowcount = 0
59            self.columncount = 0
60            self.discattroutn = 0
61            self.contattrcount = 0
62            self.stringattrcount = 0
63            self.metaattrcount = 0
64            self.classattr = "No"
65           
66if __name__ == "__main__":
67    app = QApplication(sys.argv)
68    w = OWDataInfo()
69    data = orange.ExampleTable("../../doc/datasets/iris.tab")
70    w.data(data)
71    w.show()
[9044]72    app.exec_()
Note: See TracBrowser for help on using the repository browser.