Guest User

Untitled

a guest
Jul 18th, 2024
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | Source Code | 0 0
  1. fig = plt.figure(figsize = (13,5))
  2. axes = fig.subplot_mosaic(
  3.     """
  4.    ABCDEF
  5.    GGHHII
  6.    GGHHII
  7.    """
  8. )
  9. axes = [axes[k] for k in axes.keys()]
  10.  
  11. n = 1024
  12. arr = np.zeros((n,n))
  13.  
  14. l = np.linspace(-1, 1, n)
  15. nr = np.sqrt(l[:, None]**2 + l[None, :]**2)
  16.  
  17. thicknesses = []
  18. for r in np.linspace(0.3, 0.9, 6):
  19.     theta = np.arcsin(nr/r)
  20.     thickness = 0.3/(np.cos(theta)+0.3)
  21.     thickness = np.nan_to_num(thickness, 0)
  22.     thicknesses.append(thickness)
  23.  
  24. for i, (t, ax) in enumerate(zip(thicknesses, axes)):
  25.     ax.imshow(t)
  26.     ax.set_title(f'img {i}')
  27. cim = axes[6].imshow(np.sum(thicknesses, axis = 0))
  28. cbar = fig.colorbar(cim)
  29. cbar.set_ticks([])
  30. axes[6].set_title('sum')
  31.  
  32. cmap = mpl.multivar_colormaps['6VarAddA']
  33. cim = axes[7].imshow(thicknesses, cmap = cmap)
  34. axes[7].set_title("combination_mode = 'sRGB_add'")
  35. cbars = fig.colorbars(cim, (-1, 2), fraction_per_row=0.08)
  36. for cbar in cbars:
  37.     cbar.set_ticks([])
  38.  
  39. ims = np.array([c(t)  for c, t in zip(cmap, thicknesses)])
  40.  
  41. im = np.choose(np.argmax(thicknesses, axis = 0).reshape(-1,1), ims.reshape((len(cmap),-1,4))).reshape((*thicknesses[0].shape, -1))
  42. cim = axes[8].imshow(im)
  43. axes[8].set_title("combination_mode = 'choose_max'")
  44.  
  45. for ax in axes:
  46.     ax.set_yticks([])
  47.     ax.set_xticks([])
Add Comment
Please, Sign In to add comment