Найти - Пользователи
Полная версия: Создать гистограмму плотности распределения по реальным данным (не сгенерированным)
Начало » Python для новичков » Создать гистограмму плотности распределения по реальным данным (не сгенерированным)
1
freeman86
Доброго времени суток. Есть задача построить гистограмму по реальным данным(дельта времени между отправкой пакетов на сервер и приемом). На данный момент, код, который рисует гистограмму выглядит так:
 plt.hist(delta_time)
где delta_time массив с набором времени каждого пакета
все выглядит более менее адекватно, пока пакетов не много. Когда пакетов, например, 6000, то гистограмма приобретает вид одного столбика. Хотя, если исследовать массив, видно что есть “выбросы”, которые превышают среднее время в десятки раз. Из чего я думаю, что мне нужно логарифмическое отображение количества пакетов (по оси Х). Может кто-нибудь подсказать, как это сделать? Я пробовал экспериментировать с библиотекой и модулем np.histogram, но по факту получилось тоже самое.
py.user.next
freeman86
код, который рисует гистограмму выглядит так
  
plt.hist(delta_time)
Маловато инфы. Этот кусочек может означать что угодно.

Так-то можно вот этот код и так запустить
  
>>> class Secret:
...     def hist(self, data):
...         print('Иди ты в жопу со своими {}!'.format(', и '.join(map(str, data))))
... 
>>> delta_time = [0.5, 0.125, 1.15]
>>> 
>>> plt = Secret()
>>> 
>>> plt.hist(delta_time)
Иди ты в жопу со своими 0.5, и 0.125, и 1.15!
>>>
freeman86
py.user.next
 import matplotlib.pyplot as plt
delta_time = [14, 31, 654, 32, ......87, 42]
plt.hist(delta_time)

py.user.next
Попробуй это
  
import matplotlib.pyplot as plt
 
delta_time = [14, 31, 654, 32, 87, 42]  * 6000
plt.hist(delta_time, 200)
plt.grid(True)
plt.show()

Инфа тут есть, как настраивать. Там же пример.
freeman86
py.user.next
Попробуй это
Спасибо за ответ!
 delta_time = [14, 31, 654, 32, 87, 42]  * 6000
Не понимаю, для чего умножать массив на количество посылок?

plt.hist(delta_time, 200) 200 это bins?
py.user.next
freeman86
Не понимаю, для чего умножать массив на количество посылок?
Ну вот ты писал, что когда значений мало, всё видно, а когда значений много, всё сливается.
freeman86
все выглядит более менее адекватно, пока пакетов не много. Когда пакетов, например, 6000, то гистограмма приобретает вид одного столбика.
Так что я приблизил количество значений к твоему количеству, когда всё сливается. А что такое 200, я не знаю. Я просто поставил её, запустил и увидел, что ничего не сливается больше.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB