Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Используя вывод numpy.histogram, как построить простой график кривой?

ПрограммированиеData science+3
Анонимный вопрос
Data Science
  · 2,3 K
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 18 июл 2022
Пишем два примера для распределений Лапласа и Гаусса.
======================================
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# Затем определите подходящую функцию и некоторый пример набора данных.
# Образец набора данных предназначен только для  этого вопроса. 
# Вы должны использовать свой набор данных и определить свою функцию, 
# которую вы хотите установить
loc, scale = 0., 1.
x = np.random.laplace(loc, scale, 1000)
def laplacian(x,amplitude,loc,scale):
»  »  »  »      return amplitude*np.exp(-abs(x-loc)/scale)/(2.*scale)
# Обращение к np.histogram(x,bins='auto')
bin_heights, bin_borders = np.histogram(x, bins='auto')
bin_widths = np.diff(bin_borders)
bin_centers = bin_borders[:-1] + bin_widths / 2
popt, _ = curve_fit(laplacian, bin_centers, bin_heights, p0=[1., 0., 1.])
x_interval_for_fit = np.linspace(bin_borders[0], bin_borders[-1], 10000)
plt.bar(bin_centers, bin_heights, width=bin_widths, label='histogram')
plt.plot(x_interval_for_fit,laplacian(x_interval_for_fit,*popt),label='fit',c='red')
plt.legend()
plt.show()