Esempio n. 1
0
 def createXAxis (self):
     ax = Group ()
     x = self.canvas.x - self.canvas.height
     y = self.canvas.y + self.canvas.height
     ax.appendTransform (Rotate (-90, self.canvas.x, y))
     if self.settings.horizontal:
         UnifiedGraph.createXAxis (self)
     else:
         textProperties = {'textHeight': self.settings.xAxisTextHeight,
                           'verticalAnchor': 'middle',
                           'horizontalAnchor': 'right',
                           }
         xaxis = YAxis (id = 'x-axis',
                        inf = self.canvas.y + self.canvas.height,
                        sup = self.canvas.y + self.canvas.height - self.canvas.width,
                        x = self.canvas.x - self.canvas.height - self.settings.xAxisSpace,
                        lower = self.xbounds[0],
                        upper = self.xbounds[1],
                        textProperties = textProperties)
         ticks = []
         labels = []
         for child in self.canvas.data:
             if child.xml.has_key ('name'):
                 ticks.append (child.x + child.width / 2.0)
                 labels.append (child.xml['data'])
         xaxis.createTicks (ticks)
         xaxis.setText (map (str, labels))
         xaxis.drawTicks ()
         ax.draw (xaxis)
         self.dataGroup.drawAt (ax, 0)
Esempio n. 2
0
 def createYAxis(self):
     textProperties = {
         "textHeight": self.settings.yAxisTextHeight,
         "horizontalAnchor": "right",
         "verticalAnchor": "middle",
         "lineLength": self.settings.yAxisMaxWidth,
         "maxLines": self.settings.yAxisMaxLines,
     }
     yaxis = YAxis(
         inf=self.canvas.y,
         sup=self.canvas.y + self.canvas.height,
         x=0,
         lower=self.ybounds[0],
         upper=self.ybounds[1],
         has_lines=self.settings.horizontalGrid,
         line_height=self.canvas.width,
         textProperties=textProperties,
     )
     yaxis.createTicks(self.ypositions)
     yaxis.setText(self.ylabels)
     yaxis.drawTicks()
     yaxis.move(self.canvas.x + yaxis.width, 0)
     self.canvas.changeSize(-yaxis.width - self.settings.yAxisSpace, 0)
     self.canvas.move(yaxis.width + self.settings.yAxisSpace, 0)
     self.dataGroup.drawAt(yaxis, 0)
Esempio n. 3
0
 def createXAxis(self):
     ax = Group()
     x = self.canvas.x - self.canvas.height
     y = self.canvas.y + self.canvas.height
     ax.appendTransform(Rotate(-90, self.canvas.x, y))
     if self.settings.horizontal:
         UnifiedGraph.createXAxis(self)
     else:
         textProperties = {
             'textHeight': self.settings.xAxisTextHeight,
             'verticalAnchor': 'middle',
             'horizontalAnchor': 'right',
         }
         xaxis = YAxis(id='x-axis',
                       inf=self.canvas.y + self.canvas.height,
                       sup=self.canvas.y + self.canvas.height -
                       self.canvas.width,
                       x=self.canvas.x - self.canvas.height -
                       self.settings.xAxisSpace,
                       lower=self.xbounds[0],
                       upper=self.xbounds[1],
                       textProperties=textProperties)
         ticks = []
         labels = []
         for child in self.canvas.data:
             if child.xml.has_key('name'):
                 ticks.append(child.x + child.width / 2.0)
                 labels.append(child.xml['data'])
         xaxis.createTicks(ticks)
         xaxis.setText(map(str, labels))
         xaxis.drawTicks()
         ax.draw(xaxis)
         self.dataGroup.drawAt(ax, 0)
Esempio n. 4
0
 def createYAxis (self):
     textProperties = {'textHeight': self.settings.yAxisTextHeight,
                       'horizontalAnchor': 'right',
                       'verticalAnchor': 'middle',
                       }
     yaxis = YAxis (inf = self.canvas.y,
                    sup = self.canvas.y + self.canvas.height,
                    x = 0,
                    lower = self.ybounds[0],
                    upper = self.ybounds[1],
                    textProperties = textProperties)
     yaxis.createTicks (self.ypositions)
     yaxis.setText (self.ylabels)
     yaxis.drawTicks ()
     yaxis.move (self.canvas.x + yaxis.width, 0)
     self.canvas.changeSize (-yaxis.width - self.settings.yAxisSpace, 0)
     self.canvas.move (yaxis.width + self.settings.yAxisSpace, 0)
     self.dataGroup.drawAt (yaxis, 0)
Esempio n. 5
0
 def createY2Axis (self):
     ybounds = self.y2bounds
     textProperties = {'textHeight': self.settings.y2AxisTextHeight,
                       'horizontalAnchor': 'left',
                       'verticalAnchor': 'middle',
                       }
     yaxis = YAxis (inf = self.canvas.y,
                    sup = self.canvas.y + self.canvas.height,
                    x = 0,
                    lower = self.y2bounds[0],
                    upper = self.y2bounds[1],
                    textProperties = textProperties)
     yaxis.createTicks ()
     if self.y2labels:
         yaxis.setText (self.y2labels)
     yaxis.drawTicks ()
     yaxis.move (self.canvas.x + self.canvas.width - yaxis.width, 0)
     self.canvas.changeSize (-yaxis.width - self.settings.y2AxisSpace, 0)
     self.dataGroup.drawAt (yaxis, 0)