np.append()
и np.insert()
не являются встроенными функциями, они возвращают результат, и вы должны присвоить его своей переменной (bin_centers = np.insert(bin_centers, 0, bins[0])
)
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('seaborn-white')
data = np.array([15, 20, 14, 10, 20, 21, 18, 8])
n, bins, _ = plt.hist(data, alpha=0.2, density=True)
plt.grid(axis='y', alpha=0.5)
plt.xlim([0, 30])
bin_centers = 0.5 * (bins[1:] + bins[:-1])
bin_centers = np.insert(bin_centers, 0, bins[0])
bin_centers = np.append(bin_centers, bins[-1])
n = np.insert(n, 0, 0)
n = np.append(n, 0)
plt.plot(bin_centers, n)
plt.xlabel('length (nts)')
plt.ylabel('frequency')
plt.title('Length Distribution')
plt.show()
![enter image description here](https://i.stack.imgur.com/9mtOK.png)