Я бы использовал range(len(n))
в качестве оси X
plt.plot(range(len(n)), n, marker='.')
, но вы можете получить то же самое без значений оси X
plt.plot(n, marker='.')
import matplotlib.pyplot as plt
import numpy as np
x= np.array([0,0,0,0,0,1,1,1,2,2,1,5,5,4,4.3,10])
n,bins,patches=plt.hist(x,bins=5,density=True)
plt.show()
print("n is: ",n)
plt.xlim([0,6])
plt.xlabel('s')
plt.ylabel('P(s)')
#Result
#n is: [0.28125, 0.0625, 0.125, 0.,0.03125]
#Simple graph:
plt.plot(range(len(n)), n, marker='.')
plt.show()
plt.plot(n, marker='.')
plt.show()
РЕДАКТИРОВАТЬ: вы также можете использовать bins
для расчета x-axis
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0,0,0,0,0,1,1,1,2,2,1,5,5,4,4.3,10])
n, bins, patches=plt.hist(x,bins=5,density=True)
plt.show()
#Simple graph:
#X = [(a+b)/2 for a,b in zip(bins, bins[1:])]
X = (bins[:-1] + bins[1:])/2
Y = n
plt.plot(X, Y, marker='.')
plt.show()
