Не могу найти способ включить цветную полосу с историей и сюжетами - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь добавить цветную полосу к hist2d графику.У меня есть три участка одного и того же распределения частиц с разных направлений.У меня есть два основных вопроса:

  • Есть ли у графиков нормализация, когда я использую colors.LogNorm()?
  • Если это так, как я могу добавить одну цветную полосу справа?Я пытался использовать plt.colorbar(), но я не совсем понимаю, как его использовать с hist2d, так как examples Я нашел использование pcolor.

Мой код:

fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(15,5))
my_cmap = copy.copy(mpl.cm.get_cmap('inferno'))
my_cmap.set_bad((0,0,0))

ax[0].set_xlabel('$x_c$ [$\mathrm{kpc}$]')
ax[0].set_ylabel('$y_c$ [$\mathrm{kpc}$]')
ax[0].set_aspect('equal')
ax[0].hist2d(x_plot, y_plot, bins=(bin_num, bin_num), norm=mpl.colors.LogNorm(), cmap=my_cmap, range=[[-box_size, box_size], [-box_size, box_size]])

ax[1].set_xlabel('$y_c$ [$\mathrm{kpc}$]')
ax[1].set_ylabel('$z_c$ [$\mathrm{kpc}$]')
ax[1].set_aspect('equal')
ax[1].hist2d(y_plot, z_plot, bins=(bin_num, bin_num), norm=mpl.colors.LogNorm(), cmap=my_cmap, range=[[-box_size, box_size], [-box_size, box_size]])

ax[2].set_xlabel('$x_c$ [$\mathrm{kpc}$]')
ax[2].set_ylabel('$z_c$ [$\mathrm{kpc}$]')
ax[2].set_aspect('equal')
ax[2].hist2d(x_plot, z_plot, bins=(bin_num, bin_num), norm=mpl.colors.LogNorm(), cmap=my_cmap, range=[[-box_size, box_size], [-box_size, box_size]])

fig.suptitle('Dark matter density', y=0.99)
plt.tight_layout()
plt.savefig('dm_density.pdf', dpi=300)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...