Как построить горизонтальную гистограмму в MATLAB? - PullRequest
8 голосов
/ 15 октября 2011

Я посмотрел и не смог найти ответ на этот вопрос, поэтому здесь.

У меня есть некоторые данные (вектор 1 X 1000, называемый данными), для которых я хотел бы построить информацию гистограммы.Если я использую команду histogram(data), то получаю достаточно хороший график гистограммы, где ось x делится поровну на десять сегментов (значения средней точки десяти равных интервалов между максимальным и минимальным значениями данных) и y-ось записывает, сколько вхождений произошло для каждого сегмента.

То, что я действительно хочу, это тот же график, только с осью Y, представляющей интервалы сегмента, и осью X, представляющей счет для каждого сегмента ...

Таким образом, я могу вставить это в сюжет рядом с какой-то другой информацией, и все будет легче для понимания (и выглядит очень круто).Какой простой способ сделать это?Спасибо!

Ответы [ 3 ]

11 голосов
/ 15 октября 2011

Вы можете достичь желаемого с помощью функции barh.Вот пример:

testData = randn(10000,1); %# test data
[counts,bins] = hist(testData); %# get counts and bin locations
barh(bins,counts)

enter image description here

Отражение гистограммы

Вот пример, показывающий, как перевернуть диаграмму вдоль вертикальной оси.

h=barh(bins,counts); %# include previous two lines from above
set(get(h,'Parent'),'xdir','r')

enter image description here

3 голосов
/ 03 декабря 2014

Вы также можете использовать обычную функцию гистограммы hist , а затем изменить точку зрения, набрав

>> view(90, -90)
2 голосов
/ 04 мая 2018

с тех пор, как была введена функция ГИСТОГРАММЫ (R2014b), вы можете создать горизонтальную гистограмму, установив для «ориентации» значение «по горизонтали»

пример:

histogram(data,'orientation','horizontal')
...