How to prevent the connecting of dots between two data points when the middle points are missing in plot
33 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Masoud Arash
le 6 Mai 2024
Commenté : Masoud Arash
le 6 Mai 2024
Hello Everyone.
I have a question regarding using plot in Matlab. Consider that I have the following arrays and their corresponding plots:
x1=1:10;
y1=sin(x1*2*pi/18);
x2=x1;
x2(5:6)=[];
y2=sin(x2*1.8*pi/18);
figure(1)
plot(x1,y1,'-bx',x2,y2,'-ro')
As you can see, in the red plot, the data for x=5 and x=6 are missing. What I need, is to plot these two curves in a way, that if we do not have data in a point, the line becomes separated, i.e. I do not want the Matlab to connect the data points between x=4 and x=7 in the above exmple. I have data with different density in various points that are required to be plotted at a same figure.
Now I know that there is a scatter plot, but I need to you plot command. Also, my real data is much more complicated and I cannot separate each curve to separate curves and plot them, as I need them to be one curve when I select them after plotting. In other words it is not possible for me to do the following:
figure(2)
plot(x1,y1,'-bx',x2(1:4),y2(1:4),'-ro',x2(5:end),y2(5:end),'-ro')
The figure(2) shows what I want visually. The problem is that when you select the curves in figure(2), there are three curves and, the curve for x2(1:4) is different from the curve for x2(5:end). I need them to remain as one curve when selected.
Do you know a way to solve this problem?
0 commentaires
Réponse acceptée
Kevin Holly
le 6 Mai 2024
x1=1:10;
y1=sin(x1*2*pi/18);
x2=x1;
x2(5:6)=NaN;%Change this to NaN
y2=sin(x2*1.8*pi/18);
figure(1)
plot(x1,y1,'-bx',x2,y2,'-ro')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Scatter Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!