X-данные просто не сортируются в первую очередь.Чтобы подчеркнуть это, если вы используете только маркеры для построения графика, вы увидите, что перекрытие, которое вы видите, представляет собой артефакт линий, непрерывно соединяющих дискретные точки данных .Здесь ms=2
- это краткая форма записи markersize=2
, которая определяет размер маркеров (в данном случае точки, кружки).В ko
, k
- это код для черного цвета, а o
- это символ для использования маркеров.Вы также можете написать 'o', color='black'
в качестве альтернативы.-ko
означает соединение круговых точек с черной линией.-go
, -bo
, -ro
означают зеленый, синий и красный цвета соответственно.
mu, sigma = 0, 0.1
x = np.random.normal(mu, sigma, 200)
f = 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (x - mu)**2 / (2 * sigma**2) )
plt.plot(x,f, 'ko', ms = 2)
Выход

Чтобы исправить это, вы можете использовать отсортированный x при вычислении f
как и далее при построении графика.
f = 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (np.sort(x) - mu)**2 / (2 * sigma**2) )
plt.plot(np.sort(x),f, '-ko', ms = 2)
Вывод
