Я хочу сделать гистограмму для числа вхождений в списке. Более конкретно, я начинаю со списка вроде:
>>> print(some_list)
[2, 3, 10, 5, 20, 34, 50, 10, 10 ... ]
Этот список в основном целые числа в диапазоне [0, 2470]. То, что я хочу сделать, это построить график числа вхождений для каждого целого числа. Код, который я написал:
from collections import Counter
import matplotlib.pyplot as plt
import pandas as pd
sorted_list = sorted(some_list)
sorted_counted = Counter(sorted_list)
range_length = list(range(max(some_list))) # Get the largest value to get the range.
data_series = {}
for i in range_length:
data_series[i] = 0 # Initialize series so that we have a template and we just have to fill in the values.
for key, value in sorted_counted.items():
data_series[key] = value
data_series = pd.Series(data_series)
x_values = data_series.shape[0]
plt.bar(x_values, data_series.values)
plt.show()
Когда я запускаю этот код, я получаю следующий график:
![enter image description here](https://i.stack.imgur.com/XmshB.jpg)
, который не не то, что я ищу.
График, который я ожидаю, имеет значения $ x $, значения в [0, 2740], а значения $ y $ должны быть числом вхождений для каждое целое значение. Он должен выглядеть как перевернутый экспоненциальный граф.
В чем проблема с моим кодом? Заранее спасибо.