Автоматический биннинг plt.hist
взаимодействует с randint
, чтобы вызвать этот артефакт.Используйте np.random.random
, чтобы преодолеть это.
import numpy as np
import matplotlib.pyplot as plt
X = np.array([0]*10000000)
i = 100
for j in range(i):
a = np.random.random(10000000) * 4 # multiplying by 4 to simulate high=4 in OP's code
X = X+a
plt.hist(X, bins='auto')
plt.show()
Обновление: как упоминает @Warren, проблема заключалась в автоматическом поведении биннинга plt.hist
.Равномерно выбирая числа вместо целых, эта проблема исчезает.Если вы должны использовать randint, его решение работает.
![enter image description here](https://i.stack.imgur.com/DMvBi.png)