Пример #1
0
def main():
    opt = parse_cmdline()
    flist = os.listdir(opt.yaml_dir)

    ts = TreeShape(fanout=opt.fanout, width=900, height=900)
    u = Util()
    i = 0
    for f in sorted(flist):
        ybuf = u.file_to_yaml(f"{opt.yaml_dir}/{f}")
        d = ts.process_yaml(ybuf)
        if d != None:
            ts.add_tree_data(d)
        i += 1

    p, slider = ts.plot_graph(title="cN Tree Shape")
    if p == None:
        print("Empty List")
        return -1

    if slider:
        composite = [[p], [slider]]
    else:
        composite = [[p]]

    output_file(opt.html_file)
    plot = layout(composite)
    save(plot)
    print(f"Plot: {opt.html_file}")
Пример #2
0
def make_plots(arg_dict):
    u = Util()

    vlen = arg_dict["vlen"]
    nkey = arg_dict["nkey"]
    tree_path = arg_dict["tree_path"]
    crossover_path = arg_dict["crossover_path"]

    title = "vlen: {} nkey: {} size: {}".format(vlen, u.humanize(nkey),
                                                u.humanize(nkey * vlen))
    heading = Div(
        text=f"""
    <hr style="width:100%">
    <h2>{title}</h2>
    """,
        width=1000,
    )

    ts = TreeShape(fanout=16, width=500, height=500)
    c = Crossover(width=1500, height=500)

    ybuf = u.file_to_yaml(tree_path)
    d = ts.process_yaml(ybuf)
    ts.add_tree_data(d)
    tot_kvsets, c_kvsets_avg, g_kvsets_avg = ts.avg_nkvset(ybuf, pivot=2)
    tree_plot, slider = ts.plot_graph(
        title="nkvsets Get: {} Cursor: {} Total: {}".format(
            g_kvsets_avg, c_kvsets_avg, tot_kvsets))

    df = c.df_for_nkeys(nkey_dir=crossover_path,
                        c_avg_nkvset=c_kvsets_avg,
                        g_avg_nkvset=g_kvsets_avg)
    crossover_plot = c.plot(df=df)

    # Output
    arg_dict["plots"] = column(heading, row(tree_plot, crossover_plot))