Неправильная ширина бина с логарифмической осью X и Y - PullRequest
0 голосов
/ 24 апреля 2020

Мне нужно нарисовать историю с бот-логарифмией c y и осью X, но я также хотел бы, чтобы корзины для истории отображались одинакового размера. enter image description here

Как мне добиться этого результата с помощью следующего кода (используемый x очень длинный, поэтому я намеренно избегал его вставлять):

import matplotlib as plt
import numpy as np

fig, ax1 = plt.subplots()

hist, bins, _ = ax1.hist(x, log=True, color="red", rwidth=0.5)
plt.xscale("log")
np_x = np.array(x)
print("np_x.mean() = " + str(np_x.mean()))
plt.axvline(np_x.mean() * 1.1, color='lime', linestyle='dashed', linewidth=3,
            label='Mean: {:.2f}'.format(np_x.mean()))

handles, labels = ax1.get_legend_handles_labels()
binwidth = math.floor(bins[1] - bins[0])
mylabel = "Binwidth: {}".format(binwidth) + ", Bins: {}".format(len(hist))
red_patch = mpatches.Patch(color='red', label=mylabel)
handles = [red_patch] + handles
labels = [mylabel] + labels
ax1.legend(handles, labels)

plt.xlabel(x_label)
plt.ylabel(y_label)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...