Присвоить метки непустым бинам в гистограмме - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь построить данные распределения, где большинство значений в этом списке близко к одному числу (и, следовательно, находятся в одном и том же контейнере), а некоторые значения близки к другому числу. Таким образом, гистограмма выглядит так, как будто есть одна или две огромные корзины / бары и одна или две маленькие, которые едва видны. Что нужно сделать, так это выделить ячейки, в которых есть данные. Я хотел бы сделать это с помощью ярлыков. Таким образом, в моем примере я хочу иметь только метки для корзины с «1» и для корзины с «10», где я хочу отобразить количество значений, которые находятся в этом контейнере. Это особенно полезно для корзины с «10», потому что она едва заметна по сравнению с корзиной с «1». Кто-нибудь может дать мне подсказку?

data_list = [1, 1, 1, 1, 1, 1, 10]
number_of_bins = int(len(set(data_list)))
ax = plt.subplot()
(n, bins, patches) = ax.hist(data_list, histtype='bar', bins=number_of_bins, edgecolor="black")
plt.show()

1 Ответ

0 голосов
/ 27 августа 2018

Используя эту вспомогательную функцию :

def bins_labels(bins, **kwargs):
    bin_w = (max(bins) - min(bins)) / (len(bins) - 1)
    plt.xticks(np.arange(min(bins)+bin_w/2, max(bins), bin_w), bins, **kwargs)
    plt.xlim(bins[0], bins[-1])

Вы можете сделать это:

data_list = [1, 1, 1, 1, 1, 1, 10]
number_of_bins = int(len(set(data_list)))
ax = plt.subplot()
(n, bins, patches) = ax.hist(data_list, histtype='bar', bins=number_of_bins, edgecolor="black")
bins_labels(bins, fontsize=20)
plt.show()

enter image description here

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