Esempio n. 1
0
    def setup_ax(self):
        self.ax.xaxis.set_major_locator(x_major_locator)
        self.ax.xaxis.set_major_formatter(x_major_formatter)
        self.ax.yaxis.set_major_formatter(y_major_formatter)
        self.ax.tick_params(labelsize='small')
        self.ax.tick_params(axis='x', length=0)

        padding = datetime.timedelta(days=20)
        self.ax.set_xlim(
            qubesstats.parse_date(self.stats.months[ 0]) - padding,
            qubesstats.parse_date(self.stats.months[-1]) + padding)

        self.ax.set_ylabel('Unique IP addresses')

        for spine in ('top', 'bottom', 'left', 'right'):
            self.ax.spines[spine].set_linewidth(0.5)

#       ax.set_xlim
        self.ax.yaxis.grid(True, which='major', linestyle=':', alpha=0.7)
Esempio n. 2
0
    def add_data(self):
        bottom = (0,) * len(self.stats)
        offset = datetime.timedelta(days=BAR_WIDTH * 0.5)
        months = tuple(qubesstats.parse_date(i) - offset
            for i in self.stats.months)
        for release in self.stats.releases:
            for series in ('tor', 'plain'):
                sdata = tuple(self.stats.get_series(release, series))
                handle = self.ax.bar(
                    months,
                    sdata,
                    bottom=bottom,
                    hatch=('///' if series == 'tor' else None),
                    label=(release if series == 'plain' else None),
                    color=COLOURS.get(release, '#ff0000'), #TANGO['ScarletRed1']
                    width=BAR_WIDTH,
                    linewidth=0.5)
                if series == 'plain':
                    self.handles.append(handle)

                bottom = tuple(bottom[i] + sdata[i] for i in range(len(bottom)))