Как преобразовать гистограмму в простой график с помощью маркера? - PullRequest
1 голос
/ 04 июля 2019

Я построил гистограмму.Но я хочу использовать его данные для построения простого графика, показывающего точки данных с помощью маркера.Но для этого мне нужны значения по осям X и Y.Для оси Y я могу использовать n в следующем коде, но каковы будут значения оси X?Я не могу выбрать ячейки в качестве оси x, так как она возвращает ребра.

`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)
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(?,n,marker='.')

enter image description here

enter image description here

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Вы ищете что-то подобное?

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, alpha=0.6)

plt.xlabel('s')
plt.ylabel('P(s)')
plt.scatter(bins[:-1]+ 0.5*(bins[1:] - bins[:-1]), n, marker='o', c='red', s=40, alpha=1)

enter image description here

0 голосов
/ 04 июля 2019

Я бы использовал 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()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...