def plot_refine_stats(base_file, I): plt.figure(3) plt.clf() (nodes,faces) = read_shewchuk(base_file + '.' + str(I)) F = faces.shape[0] unarch = Unarchiver(base_file + '.' + str(I+1) + '.stats') number_of_vects = len(unarch.data) R = int(np.ceil(np.sqrt(number_of_vects))) C = int(np.ceil(float(number_of_vects) / float(R))) assert R*(C-1) < number_of_vects <= R*C for (i,(name,f)) in enumerate(unarch.data.items()): plt.subplot(R,C,i+1) assert((F,) == f.shape) tmv.plot_faces(nodes,faces,f) plt.title(name) plt.suptitle(base_file + '.' + str(I))
# Flow plt.figure() plt.suptitle("Flow information") plt.subplot(2,2,1) plt.title("Ref. agg. flow") ref_agg = np.sum(ref_P[:,1:],axis=1) tmv.plot_vertices(nodes,faces,ref_agg) plt.subplot(2,2,2) plt.title("Approx. agg. flow") agg = np.sum(P[:,1:],axis=1) tmv.plot_vertices(nodes,faces,agg) plt.subplot(2,2,3) plt.title("Advantage") tmv.plot_faces(nodes,faces,sol.adv) ######################################## # Dual plt.figure() plt.suptitle("Dual information") plt.subplot(2,2,1) plt.title("Min Dual")v min_dual = np.min(D[:,1:],axis=1) tmv.plot_vertices(nodes,faces,min_dual) plt.suptitle("Dual policy") plt.subplot(2,2,2) plt.title("Min Dual") dual_policy = np.argmin(D[:,1:],axis=1) tmv.plot_vertices(nodes,faces,dual_policy)