def graphEdiff2D(ax, data1, data2, title): x, y, z, d = gt.calculatecompareelementdiff2D(data1, data2) z = gt.convert * z # Set up a regular grid of interpolation points xi, yi = np.linspace(x.min(), x.max(), 100), np.linspace(y.min(), y.max(), 100) xi, yi = np.meshgrid(xi, yi) # Interpolate rbf = scipy.interpolate.Rbf(x, y, z, function='linear') zi = rbf(xi, yi) im = ax.imshow(zi, vmin=z.min(), vmax=z.max(), origin='lower', extent=[x.min(), x.max(), y.min(), y.max()]) ax.set_title(title,fontsize=14) # plt.xlabel('Structure') # plt.ylabel('Structure') ax.scatter(x, y, c=z, vmin=z.min(), vmax=z.max()) ax.plot([x.min(),x.max()],[y.min(),x.max()],'--',color='red',linewidth=4,alpha=0.8) ax.set_xlim([-0.02*x.max(),x.max()+0.02*x.max()]) ax.set_ylim([-0.02*y.max(),y.max()+0.02*y.max()]) ax.grid(True) return im
def graphEdiff2D(ax, data1, data2, title): x, y, z, d = gt.calculatecompareelementdiff2D(data1, data2) C = data1.shape[0] mat = np.ndarray(shape=(C, C), dtype=float) for i in x: for j in y: I = int(i) J = int(j) mat[I, J] = z[I + J * C] #get discrete colormap cmap = plt.get_cmap('RdBu', np.max(mat) - np.min(mat) + 1) # Show mat im = ax.matshow(mat, vmin=np.min(mat), vmax=np.max(mat)) th = ax.set_title(title, fontsize=16) th.set_position([0.5, 1.005]) cmap = plt.cm.jet norm = plt.Normalize(mat.min(), mat.max()) rgba = cmap(norm(mat)) rgba[range(C), range(C), :3] = 1, 1, 1 ax.imshow(rgba, interpolation='nearest') # Plot center line ax.plot([x.min() - 0.5, x.max() + 0.5], [y.min() - 0.5, x.max() + 0.5], '--', color='red', linewidth=4, alpha=0.8) # Set Limits ax.set_xlim([-0.02 * x.max(), x.max() + 0.02 * x.max()]) ax.set_ylim([-0.02 * y.max(), y.max() + 0.02 * y.max()]) ax.xaxis.tick_bottom() return im
def graphEdiff2D(ax, data1, data2, title): x, y, z, d = gt.calculatecompareelementdiff2D(data1, data2) C = data1.shape[0] mat = np.ndarray(shape=(C,C),dtype=float) for i in x: for j in y: I = int(i) J = int(j) mat[I,J] = z[I+J*C] #get discrete colormap cmap = plt.get_cmap('RdBu', np.max(mat)-np.min(mat)+1) # Show mat im = ax.matshow(mat,vmin = np.min(mat), vmax = np.max(mat)) th = ax.set_title(title,fontsize=16) th.set_position([0.5,1.005]) cmap = plt.cm.jet norm = plt.Normalize(mat.min(), mat.max()) rgba = cmap(norm(mat)) rgba[range(C), range(C), :3] = 1, 1, 1 ax.imshow(rgba, interpolation='nearest') # Plot center line ax.plot([x.min()-0.5,x.max()+0.5],[y.min()-0.5,x.max()+0.5],'--',color='red',linewidth=4,alpha=0.8) # Set Limits ax.set_xlim([-0.02*x.max(),x.max()+0.02*x.max()]) ax.set_ylim([-0.02*y.max(),y.max()+0.02*y.max()]) ax.xaxis.tick_bottom() return im