Как создать неравные гистограммы ширины с Matlab?

Я хотел бы создать гистограмму с неравными мусорными ведрами (интервалы).. Matlab создают только гистограммы с равными мусорными ведрами, как будто это - схема..!!!

Помогите мне... большое спасибо!!

7
задан yasmine 4 March 2010 в 12:33
поделиться

3 ответа

Вот пример:

x = randn(100,1)*3;           %# some random data
e = [-10 -5 -3 -1 1 2 3 20];  %# edges of intervals:  e(i) <= x < end(i+1)
c = histc(x,e);               %# get count in each interval
bar(e, c, 'histc')            %# bar plot
set(gca, 'xlim',[e(1) e(end)])

output

16
ответ дан 6 December 2019 в 07:50
поделиться

Вы можете создать свой собственный инструмент гистограммы, чтобы создать собственную гистограмму по своему усмотрению.

  • Используйте команду histc, чтобы определить, в какие ячейки попадает каждая точка.

  • Затем используйте массив аккумуляторов для подсчета количества элементов в каждой ячейке.

  • Затем используйте планку для рисования полос выбранной вами ширины. Или просто создайте патчей заданного размера. Используйте для этого патч .

Или, проще говоря, просто используйте hist.

hist(rand(1000,1),[0 .1 .3 .6 1])
2
ответ дан 6 December 2019 в 07:50
поделиться

2 решения:

  1. Укажите бункер центры с помощью 2-го аргумента для hist .
  2. Задайте bin Edges с вторым аргументом histc . Эта функция требует дополнительной обработки, поскольку она не генерирует график напрямую - перейдите по ссылке, чтобы увидеть пример использования.
5
ответ дан 6 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: