def draw()

in benchmarks/scripts/generate_plots_flow_flatten_merge.py [0:0]


def draw(data, plt):
    plt.xscale('log', basex=2)
    plt.gca().xaxis.set_major_formatter(FormatStrFormatter('%0.f'))
    plt.grid(linewidth='0.5', color='lightgray')
    if data.unit.unique()[0] != "ops/s":
        print("Unexpected time unit: " + data.unit.unique()[0])
        sys.exit(1)
    plt.ylabel("elements / ms")
    plt.xlabel('concurrency')
    plt.xticks(data.concurrency.unique())

    colour_gen = next_colour()
    marker_gen = next_marker()
    for flows in data.flows.unique():
        gen_colour = next(colour_gen)
        gen_marker = next(marker_gen)
        res = data[(data.flows == flows)]
#         plt.plot(res.concurrency, res.score*elements/1000, label="flows={}".format(flows), color=gen_colour, marker=gen_marker)
        plt.errorbar(x=res.concurrency, y=res.score*elements/1000, yerr=res.score_error*elements/1000, solid_capstyle='projecting',
                     label="flows={}".format(flows), capsize=4, color=gen_colour, linewidth=2.2)