Changeset 8291:cb5c95c58308 in orange


Ignore:
Timestamp:
06/01/11 17:01:55 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
a92baf595213bf374b9a331442bdd49728599df6
Message:

Different colors for curves, auto-replot graph when resizing

Location:
orange/OrangeWidgets
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Graph/curve.py

    r8283 r8291  
    3737         
    3838    def update(self): 
    39         del self.point_items[:] 
    40         if self.path_item: 
    41             del self.path_item 
     39        s = self.scene() 
     40        if s: 
     41            for i in self.point_items: 
     42                s.removeItem(i) 
     43            del self.point_items[:] 
     44        if self.path_item and s: 
     45            s. removeItem(self.path_item) 
     46            self.path_item = None 
    4247        if not self.data: 
    4348            return 
     
    5560            s = self.style.point_size 
    5661            shape = self.style.point_shape 
    57             self.point_items = [] 
    5862            for p in self.data: 
    5963                (x, y) = self.graph.map_to_graph(p) 
  • orange/OrangeWidgets/Graph/palette.py

    r8281 r8291  
    6868    def __init__(self): 
    6969        self.grid_style = LineStyle(Qt.gray,  1,  Qt.SolidLine) 
    70         self.line_styles = [ LineStyle(Qt.blue, 1, Qt.SolidLine) ] 
     70        self.line_styles = [ LineStyle(QColor(255, 127, 0), 1, Qt.SolidLine), ## Orange, of course 
     71                             LineStyle(Qt.green, 1, Qt.DashLine),  
     72                            LineStyle(Qt.red, 1, Qt.DotLine),  
     73                            LineStyle(Qt.blue, 1,  Qt.SolidLine)] 
    7174        self.point_styles = [] 
    7275        self.axis_style = LineStyle(Qt.black, 1, Qt.SolidLine) 
    7376        self.curve_symbols = [ EllipseShape, CrossShape, SquareShape ] 
     77         
     78    def line_style(self, id): 
     79        id = id % len(self.line_styles) 
     80        return self.line_styles[id] 
    7481 
    7582def shared_palette(): 
  • orange/OrangeWidgets/QtGraph.py

    r8290 r8291  
    253253        for i in range(len(xData)): 
    254254            data.append( (xData[i], yData[i]) ) 
    255         c = curve.Curve(data, self.palette.line_styles[0], self) 
     255        c = curve.Curve(data, self.palette.line_style(len(self.curves)), self) 
    256256        c.setPos(self.graph_area.bottomLeft()) 
    257257        c.continuous = (style is not Qt.NoPen) 
     
    344344             
    345345        for c in self.curves: 
     346            c.setPos(self.graph_area.bottomLeft()) 
    346347            c.update() 
    347348        self.setSceneRect(self.canvas.itemsBoundingRect()) 
     
    349350    def legend(self): 
    350351        return self._legend 
     352         
     353    ## Event handling 
     354    def resizeEvent(self, event): 
     355        self.replot() 
Note: See TracChangeset for help on using the changeset viewer.