123456789101112131415161718192021222324 |
- def plot_trajectory(proj_file, dir_file, show=False):
- """ Plot optimization trajectory on the plane spanned by given directions."""
- assert exists(proj_file), 'Projection file does not exist.'
- f = h5py.File(proj_file, 'r')
- fig = plt.figure()
- plt.plot(f['proj_xcoord'], f['proj_ycoord'], marker='.')
- plt.tick_params('y', labelsize='x-large')
- plt.tick_params('x', labelsize='x-large')
- f.close()
- if exists(dir_file):
- f2 = h5py.File(dir_file,'r')
- if 'explained_variance_ratio_' in f2.keys():
- ratio_x = f2['explained_variance_ratio_'][0]
- ratio_y = f2['explained_variance_ratio_'][1]
- plt.xlabel('1st PC: %.2f %%' % (ratio_x*100), fontsize='xx-large')
- plt.ylabel('2nd PC: %.2f %%' % (ratio_y*100), fontsize='xx-large')
- f2.close()
- fig.savefig(proj_file + '.pdf', dpi=300, bbox_inches='tight', format='pdf')
- if show: plt.show()
|