Как построить гистограмму как график рассеяния в Matlab? - PullRequest
0 голосов
/ 27 апреля 2018

Ось Y должна быть частотой (которая является частью гистограммы), а ось X - это данные xdata, используемые для построения гистограммы. По сути, мне нужна именно гистограмма, но вместо столбцов должны быть точки.

1 Ответ

0 голосов
/ 28 апреля 2018

Я бы сделал это с помощью команды histcounts. Это похоже на команду histogram, но вместо вывода данных она возвращает число в каждом бине и ребра бина. Затем вы можете отобразить это как точки, используя общую команду plot.

x = randn(1,1000); %Generate some data to plot

figure(1); clf;
subplot(2,1,1); hold on;
h = histogram(x,'normalization','probability');
title('Plotted as a histogram');
ylabel('Frequency');

subplot(2,1,2); hold on;
[N, edges] = histcounts(x,'normalization','probability');
centers = (edges(1:end-1) + edges(2:end))./2; %histcounts gives the bin edges, but we want to plot the bin centers
plot(centers,N,'ko');
title('Plotted as points');
ylabel('Frequency');
...