fig, ax = plt.subplots(figsize=(colwide, 3/6*colwide), constrained_layout=True) # * plot reward function R_value = data_list[1]["R_value"] RX_value = vibly.project_Q2S(R_value, grids, proj_opt=np.mean) RXv = RX_value.copy() RXv[RXv==-0.4] = 1. RXv[RXv==-1.4] = -1. RXv[RXv< -100.] = 0. # rmap = colors.ListedColormap(["tab:blue","tab:red", "white"]) # newcolors = [mymap(mynorm(-1.0)), (0., 0., 0., 1), (1., 1., 1., 1.)] rmap = colors.ListedColormap(["darkgrey", "red", "white"]) # rmap = colors.ListedColormap(newcolors) pc0 = vplot.reward_function(ax, RXv, grids, XV=XV, mymap=rmap) ax.set_xlabel("$x_2$") ax.set_ylabel("$x_1$") fig.colorbar(pc0, ax=ax, orientation='horizontal', extend='both', spacing='proportional', shrink=0.8) plt.savefig('negproxy_R.pdf', format='pdf') plt.close() # * plot value functions lvls = [-100., -50., alpha, -2., 0.] for pdx, data in enumerate(data_list): # data = data_list[ndx] fig, ax = plt.subplots(figsize=(colwide, 3/6*colwide), constrained_layout=True) X_value = vibly.project_Q2S(data["Q_value"], grids, proj_opt=np.max) pc1 = vplot.value_function(ax, X_value,
# viability_threshold = X_value[XV].min() # mynorm = colors.CenteredNorm() # mymap = plt.get_cmap('bwr_r') # shrunk_cmap = vplot.shiftedColorMap(mymap, start=0.2, midpoint=0.5, stop=0.8, name='shrunk') extent = [ grids['states'][1][0], grids['states'][1][-1], grids['states'][0][0], grids['states'][0][-1] ] fig, axs = plt.subplots(2, 1) # * Reward function RX_value = vibly.project_Q2S(R_value, grids, proj_opt=np.mean) pc0 = vplot.reward_function(axs[0], RX_value, grids, XV=XV, mymap="PRGn") fig.colorbar(pc0, ax=axs[0]) # * Value Function pc1 = vplot.value_function(axs[1], X_value, grids, XV=XV, mymap=mymap) fig.colorbar(pc1, ax=axs[1]) plt.savefig(savename + str(failure_penalty) + '.pdf', format='pdf') print("******************") print("******************") # plt.imshow(np.transpose(S_M), origin='lower') # visualize the S-safety measure # plt.show() # plt.imshow(Q_V) # visualize the viable set # plt.show()
# these_values = [0, 3, 5, -3, -2, -1] # these_values = range(len(data_list)) # num_plots = len(data_list)+1 # fig, axs = plt.subplots(num_plots, 1, figsize = (colwide, 16/10*colwide)) figR, axR = plt.subplots(figsize=(colwide, 3 / 6 * colwide), constrained_layout=True) # * plot reward function R_value = data_list[0]["R_value"] RX_value = vibly.project_Q2S(R_value, grids, proj_opt=np.mean) # colors.LinearSegmentedColormap.from_list('second_map', mymap) # newcolors = [(0., 0., 0., 1), (1., 1., 1., 1.), mymap(mynorm(1.0))] rmap = colors.ListedColormap(["red", "white", "darkgrey"]) # rmap = colors.ListedColormap(newcolors) pcR = vplot.reward_function(axR, RX_value, grids, XV=XV, mymap=rmap) axR.set_xlabel("$x_2$") axR.set_ylabel("$x_1$") figR.colorbar(pcR, ax=axR, orientation='horizontal', extend='both', spacing='proportional', shrink=1) plt.savefig('posproxy_R.pdf', format='pdf') plt.close() # * plot value functions lvls = [-100., -50., alpha, 1., 2.] for pdx, data in enumerate(data_list): fig, ax = plt.subplots(figsize=(colwide, 3 / 6 * colwide), constrained_layout=True)