Histogram plot by equal time intervals
16 次查看(过去 30 天)
显示 更早的评论
Dear all,
I have with my the attached dataset that I will like to plot in an equal interval time histogram.
Below here is my code:
clc
A = load ('TutorialSampleT.txt');
Time = A (:,1) ;
x = A (:,2 ) ;
y = A (:,3 ) ;
z = A (:,4 ) ;
Amplitude = A (:,5) ;
%define no of bins
noOfBins=min(Time):0.90:max(Time);
%plot histogram
histogram(Time,numel(noOfBins));
timeFormat=noOfBins;
timeFormat=timeFormat/24;
la=datestr(timeFormat,'HH:MM')
xticks(noOfBins);
xticklabels({la});
And the results:
I will be very happy if I can get some assistance with changing the time intervals to something more unifrom (an hour or 2 interval time will be perfect).
Thank you.
0 个评论
采纳的回答
Voss
2022-4-5
clc
A = load ('TutorialSampleT.txt');
Time = A (:,1) ;
x = A (:,2 ) ;
y = A (:,3 ) ;
z = A (:,4 ) ;
Amplitude = A (:,5) ;
% interval in hours:
% interval = 0.9;
% interval = 1;
interval = 2;
%define no of bins
noOfBins=min(Time):interval:max(Time);
%plot histogram
% histogram(Time,numel(noOfBins));
histogram(Time,numel(noOfBins)-1); % number of bins in the histogram is one less than numel(noOfBins), i.e., noOfBins defines the bin edges
timeFormat=noOfBins;
timeFormat=timeFormat/24;
la=datestr(timeFormat,'HH:MM');
xticks(noOfBins);
xticklabels({la});
更多回答(1 个)
Steven Lord
2022-4-5
Rather than specifying the number of bins you could specify the bin edges explicitly.
minutesPerDay = minutes(days(1));
T = datetime('today');
dt = T + minutes(randi(minutesPerDay, 1, 1000));
edges = T + hours(0:2:24);
histogram(dt, edges)
xticks(edges)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!