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}")
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))