예제 #1
0
 def set_grid(self, on):
     table = find_artists(self.axes, 'table')
     if len(table):
         if on:
             colour = 'LightGray'
         else:
             colour = 'w'
         set_table_colour(table[0], colour)
         self.redraw_plot()
예제 #2
0
    def run(self):
        self.parent.clear_plots()
        if self.data is None:
            length, tMin, tMax, fMin, fMax, lMin, lMax, peakF, peakL, peakT = (
                '-', ) * 10
        else:
            length = len(self.data)
            tMin = format_time(self.extent.tMin, True)
            tMax = format_time(self.extent.tMax, True)
            fMin = format_precision(self.settings,
                                    freq=self.extent.fMin,
                                    fancyUnits=True)
            fMax = format_precision(self.settings,
                                    freq=self.extent.fMax,
                                    fancyUnits=True)
            lMin = format_precision(self.settings,
                                    level=self.extent.lMin,
                                    fancyUnits=True)
            lMax = format_precision(self.settings,
                                    level=self.extent.lMax,
                                    fancyUnits=True)
            peak = self.extent.get_peak_flt()
            peakF = format_precision(self.settings,
                                     freq=peak[0],
                                     fancyUnits=True)
            peakL = format_precision(self.settings,
                                     level=peak[1],
                                     fancyUnits=True)
            peakT = format_time(peak[2], True)

        text = [
            ['Sweeps', '', length],
            ['Extent', '', ''],
            ['', 'Start', tMin],
            ['', 'End', tMax],
            ['', 'Min frequency', fMin],
            ['', 'Max frequency', fMax],
            ['', 'Min level', lMin],
            ['', 'Max level', lMax],
            ['Peak', '', ''],
            ['', 'Level', peakL],
            ['', 'Frequency', peakF],
            ['', 'Time', peakT],
        ]

        table = Table(self.axes, loc='center')
        table.set_gid('table')

        rows = len(text)
        cols = len(text[0])
        fontProperties = FontProperties()
        fontProperties.set_weight('semibold')
        for row in xrange(rows):
            for col in xrange(cols):
                fp = fontProperties if col == 0 else None
                table.add_cell(row,
                               col,
                               text=text[row][col],
                               fontproperties=fp,
                               width=1.0 / cols,
                               height=1.0 / rows)

        if self.settings.grid:
            colour = 'LightGray'
        else:
            colour = 'w'
        set_table_colour(table, colour)

        for i in range(2):
            table.auto_set_column_width(i)

        self.axes.add_table(table)
        self.parent.redraw_plot()

        self.parent.threadPlot = None