in scripts/generate-comparison.py [0:0]
def generate_summary(results, labels, benchmark: str, title: str):
timings = []
for _ in results:
timings.append(0)
num_queries = query_count(benchmark)
for query in range(1, num_queries + 1):
for i in range(0, len(results)):
timings[i] += np.median(np.array(results[i][str(query)]))
# Create figure and axis
fig, ax = plt.subplots()
# Add title and labels
ax.set_title(title)
ax.set_ylabel(f'Time in seconds to run all {num_queries} {benchmark} queries (lower is better)')
times = [round(x,0) for x in timings]
# Create bar chart
bars = ax.bar(labels, times, color='skyblue')
# Add text annotations
for bar in bars:
yval = bar.get_height()
ax.text(bar.get_x() + bar.get_width() / 2.0, yval, f'{yval}', va='bottom') # va: vertical alignment
plt.savefig(f'{benchmark}_allqueries.png', format='png')