How can I create a plot with subplots in a loop?
Show older comments
Hi everyone,
I am trying to create a plot with subplots within a loop. The code so far is:
x = randn(100,13);
D = 1966
dis = 3
[T N] = size(x);
for i = 1 : N
VARNAMES{i} = i;
end
time = datetime(D,1:T,1);
figure;
for k = 1:N
subplot (ceil(N/dis),dis,k)
filename = plot( time' , x(:, k ) );
xlim(datenum([min(time) max(time)]))
title ( VARNAMES(k));
hold on
end
But I get an Error message ''Error using xlim (line 31)
Limits must be a 2-element vector of increasing datetime values.''
Could you please point out where is the mistake?
1 Comment
Bobby Huxford
on 10 Jul 2019
The issue seems to be with xlim(), rather than with creating subplots within a loop.
If you remove the below line, subplots are created within a loop.
xlim(datenum([min(time) max(time)]))
However, you can use the xlim command in this code by removing the datenum function:
x = randn(100,13);
D = 1966
dis = 3
[T N] = size(x);
for i = 1 : N
VARNAMES{i} = i;
end
time = datetime(D,1:T,1);
figure;
for k = 1:N
subplot (ceil(N/dis),dis,k)
filename = plot( time' , x(:, k ) );
xlim([min(time) max(time)])
title ( VARNAMES(k));
hold on
end
Accepted Answer
More Answers (0)
Categories
Find more on Subplots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!