def plot_summary()

in tools/analysis/ping-patterns/ping-patterns.py [0:0]


def plot_summary(data_by_day, output_filename="summary.svg"):
    """
    Plot the summary of issues by day.
    """
    dates = [x[0] for x in data_by_day]

    plt.figure(figsize=(20, 20))
    plt.subplot(211)
    plt.title("Frequency of notes by day")
    for note in range(1, MAX_NOTES):
        note_values = [x[1].get(note, 0) / float(x[1]["total"]) for x in data_by_day]
        plt.plot(dates, note_values, label=NOTE_SUMMARIES[note])
    plt.legend()
    plt.grid()

    plt.subplot(212)
    plt.title("Uptake of fixes by day")
    for i, fix in enumerate(FIXES):
        fix_values = [
            x[1].get(f"fix{i}", 0) / float(x[1]["total"]) for x in data_by_day
        ]
        plt.plot(dates, fix_values, label=fix[0])
    plt.legend()
    plt.grid()

    plt.savefig(output_filename)