# How do I plot different array smoothly which contain NaN in same figure

1 view (last 30 days)
Md Hassanuzzaman on 4 Jul 2020
Commented: Star Strider on 6 Jul 2020
Plot 4 arrays all of them contain NaN value. How do you plot it smoothly.
Here is the code:
lw=2
plot(Sig1,'LineWidth',lw,'Color',[1 0.76 0])
hold on
plot(Sig2,'r','LineWidth',lw)
hold on
plot(Sig3,'g','LineWidth',lw)
hold on
plot(Sig4,'b','LineWidth',lw)
hold off

Star Strider on 4 Jul 2020
One option is to use the fillmissing function.
Example —
sig1 = [rand(1,10) NaN];
sig2 = [rand(1,10) NaN];
sig3 = [rand(1,10) NaN NaN];
sig4 = [rand(1,10) NaN];
sigv = [sig1 sig2 sig3 sig4];
sigvfm = fillmissing(sigv, 'linear');
figure
plot(sigv, 'b', 'LineWidth',1.5)
hold on
plot(sigvfm,'r')
hold off.
Make appropriate changes to work with your data.
.
Star Strider on 6 Jul 2020
Much of this is ambiguous.
Try this:
Sig1 = D.Sig1;
Sig2 = D.Sig2;
Sig3 = D.Sig3;
Sig4 = D.Sig4;
Sig = [Sig1;Sig2;Sig3;Sig4]; % Concatenate
Sigfm = fillmissing(Sig, 'linear', 'EndValues','nearest'); % Fill NaN Values
figure
plot(Sigfm(1,:), 'k', 'LineWidth',1)
producing: .

R2020a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!