plot_circular_colorbar.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. from scripts.spatial_network.perlin.figure_utils import head_direction_input_colormap
  4. azimuth_no = 360
  5. zenith_no = 15
  6. azimuths = np.linspace(-180, 180, azimuth_no)
  7. zeniths = np.linspace(0.85, 1, zenith_no)
  8. values = azimuths * np.ones((zenith_no, azimuth_no))
  9. def plot_colorbar(figsize=(2, 2), figname=None):
  10. fig, ax = plt.subplots(subplot_kw=dict(projection='polar'), figsize=figsize)
  11. ax.pcolormesh(azimuths * np.pi / 180.0, zeniths, values, cmap=head_direction_input_colormap)
  12. # ax.set_yticks([])
  13. ax.set_thetagrids([0, 90, 180, 270])
  14. ax.tick_params(pad=-2)
  15. ax.set_ylim(0, 1)
  16. ax.grid(True)
  17. y_tick_labels = []
  18. ax.set_yticklabels(y_tick_labels)
  19. gridlines = ax.yaxis.get_gridlines()
  20. [line.set_linewidth(0.0) for line in gridlines]
  21. gridlines = ax.xaxis.get_gridlines()
  22. [line.set_linewidth(0.0) for line in gridlines]
  23. ax.axes.spines["polar"].set_visible(False)
  24. plt.subplots_adjust(left=0.25, right=0.75, bottom=0.25, top=0.75)
  25. # plt.show()
  26. if figname is not None:
  27. plt.savefig(figname, transparent=True)
  28. if __name__ == "__main__":
  29. plot_colorbar()
  30. plt.show()