Весы Matplotlib Hexbin - PullRequest
       9

Весы Matplotlib Hexbin

1 голос
/ 28 сентября 2019

У меня возникли проблемы с тем, чтобы заставить matplotlib hexbin работать с масштабом журнала.

Вот подмножество моих данных и некоторые сопровождающие изображения.Всего массивов содержит 6 521 значений.

x_data = [1.81, 1.516, 6.985, 5.442, 9.419, 1.014, 0.751, 3.77, 1.337, 7.696, 0.491, 0.63, 0.484, 7.165, 0.343, 2.057, 0.218, 0.485, 3.311, 5.976, 3.904, 0.805, 3.94, 0.579, 2.325, 1.57, 0.759, 1.261, 3.975, 0.944]

y_data = [2.069, 0.076, 2.272, 0.501, 0.536, 4.144, 1.452, 7.798, 1.176, 0.832, 0.133, 0.674, 5.275, 1.87, 0.44, 0.229, 0.396, 1.448, 0.514, 0.646, 3.776, 2.2, 1.588, 1.193, 1.005, 1.181, 0.325, 2.47, 1.766, 0.754]

Вот гистограмма моих x_data в бинах 250.

plt.hist(x_data, bins=250) Histogram]([![enter image description here)

Нетпроблема при построении моих данных в логарифмическом масштабе с нормальным разбросом.

plt.scatter(x_data, y_data, alpha=0.05)
plt.xscale('log')
plt.yscale('log')
ax.set_ylim(0.001,100)
ax.set_xlim(0.001,100)

enter image description here Однако, когда я пытаюсь реализовать hexbin, я получаю что-то вроде этого.Я пытался поиграть с gridesize =, bins = и mincnt = и не смог ничего найти.

plt.xscale('log')
plt.yscale('log')
ax.set_ylim(0.001,100)
ax.set_xlim(0.001,100)
plt.hexbin(x_data, y_data, gridsize=(150,150), mincnt=2)

enter image description here

Я наконец-то попытался использовать шкалу символики.Он работал примерно так, как я ожидал от логарифмической шкалы, но не мог заставить оси опуститься ниже 0,1, даже если я установил минимальные значения границ x и y равными 0,0001

plt.xscale('symlog')
plt.yscale('symlog')
ax.set_ylim(0.0001,100)
ax.set_xlim(0.0001,100)
plt.hexbin(x_data, y_data, gridsize=(150,150), mincnt=2)

enter image description here

Буду признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...