Пример #1
0
def plotMonths(fig, data):
    day = data["when"]
    day.sort()
    up, down = data["up"], data["down"]

    setTitle(fig, up, down)
    ax = fig.add_subplot(111)

    kwargs = dict(alpha=0.5)
    for day, data in cumulativeMonth(day, (up, down)):
        day = day.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
        _, daysInMonth = calendar.monthrange(day.year, day.month)

        kwargs["width"] = daysInMonth
        ax.bar(plt.date2num(day), data[0], color="b", **kwargs)
        ax.bar(plt.date2num(day), -data[1], color="r", **kwargs)

    y_min, y_max = ax.get_ybound()
    y_max = max(abs(y_min), abs(y_max))
    scale, si = util.engineeringUnit(y_max)
    siFormatter(ax, scale)

    ax.set_xlabel("Date")
    ax.set_ylabel("upload/-download {}B".format(si))
    dayFormat(ax, month=True)
Пример #2
0
    def annoteAxis(self, ax, y, ylabel):
        y_min, y_max = ax.get_ybound()
        y_min = max([min(y), y_min])
        if y_min == 0: y_min = 1

        if ylabel.endswith('time'):
            ax.yaxis.set_major_formatter(formatter_timedelta)
        elif ylabel == 'flops':
            scale, si = util.engineeringUnit(y_max)
            ylabel = si + ylabel
            siFormatter(ax, scale)
        elif np.log10(abs(y_max/y_min)) > 3:
            ax.set_yscale('log')

        ax.set_ylabel(ylabel)
Пример #3
0
def plot(fig, data):
    day = data["when"]
    up, down = data["up"], data["down"]

    setTitle(fig, up, down)

    ax = fig.add_subplot(111)
    kwargs = dict(align="center", width=1)
    for ix in range(len(day)):
        ax.bar(plt.date2num(day[ix]), up[ix], color="b", **kwargs)
        ax.bar(plt.date2num(day[ix]), -down[ix], color="r", **kwargs)

    y_min, y_max = ax.get_ybound()
    y_max = max(abs(y_min), abs(y_max))
    scale, si = util.engineeringUnit(y_max)
    siFormatter(ax, scale)

    ax.set_xlabel("Date")
    ax.set_ylabel("upload/-download {}B".format(si))
    dayFormat(ax)