Построение векторов для соответствующего индекса в Matlab

У меня есть два вектора A = [12 21 23 14 15 36 63 63 .... ] (из 100 значений) и еще один вектор B = [1:1:100].

Теперь я хочу построить гистограмму, чтобы я мог отображать значения A по оси Y для соответствующего значения из вектора B по оси X. Например. построить 12 на 1, 21 на 2, 23 на 3 и так далее.

Я пытался сделать hist(A,B), но это не сработало. Дайте мне знать какой-нибудь другой подход.


person Nilesh Agrawal    schedule 20.09.2013    source источник


Ответы (2)


Возможно, вы хотели использовать обычный столбчатый график:

>> bar(B,A)

Если у вас слишком много значений по оси x, это может привести к более красивому графику:

B = 1:100;
A = randi(100,size(B));

bar(B,A,'histc');
xlim([1 100])

bar_plot

person Amro    schedule 20.09.2013
comment
Готово !! Большое спасибо за помощь в таком элементарном вопросе. - person Nilesh Agrawal; 21.09.2013

hist(A,100)

создает гистограмму A, второй параметр — это количество ячеек, которые вы хотите. В документации есть несколько примеров

person andy mcevoy    schedule 20.09.2013
comment
hist выполнит биннинг. Насколько я понял, ОП просто хочет отображать значения y в зависимости от значений x, используя столбцы вместо линий и точек. - person Amro; 21.09.2013
comment
да, перечитывая я думаю, что вы правы. hist(A,100) - это то, что ОП должен был использовать вместо hist(A,B) - person andy mcevoy; 21.09.2013