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)