plot too many lines
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Elias de Korte
le 4 Fév 2019
Commenté : Elias de Korte
le 5 Fév 2019
Why does MATLAB plot so many dashed lines when I am plotting just one for the 95% confidence intervals?
xd = bindex_total2_nonan(:,9); % depth
yd = bindex_total2_nonan(:,6); % pos
% poly fit
[pd,Sd] = polyfit(xd,yd,1);
[y_fitd,deltad] = polyval(pd,xd,Sd);
conf1 = y_fitd+2.*deltad;
conf2 = y_fitd-2.*deltad;
figure('Renderer', 'painters', 'Position', [10 10 900 600]);
scatter(bindex_total2(:,9),bindex_total2(:,6),'+','k');
hold on;
plot(xd,y_fitd,'color','k')
plot(xd(1:2:54),conf1(1:2:54),'r--')
plot(xd(1:2:54),conf2(1:2:54),'r--')
6 commentaires
YT
le 4 Fév 2019
Modifié(e) : YT
le 4 Fév 2019
I was also looking at this problem, and if it's not the dimensions of xd/yfit that causes the problem maybe its indeed like @Walter Roberson suggested. Also maybe its a good practice to close figures (close all;) and clear workspace variables (clear;) at the start of the script.
Réponse acceptée
Walter Roberson
le 4 Fév 2019
Try
xu = unique(xd); %unique and sorted
[y_fitd,deltad] = polyval(pd,xu,Sd);
and then
plot(xu, y_fitd, 'color','k');
I suspect that you will not need to skip every second point for the other plots.
2 commentaires
Plus de réponses (1)
Rik
le 4 Fév 2019
You should not use clear on its own. If you want to, you can use
clear variables
As to your actual problem, is your xd not sorted? That would cause the line to jump back and forth, making it look like you have a lot of different lines.
3 commentaires
Rik
le 4 Fév 2019
Maybe I worded it a bit too strongly, but when people read the advice to use clear, they will often understand it to use this
clc,close all,clear all
This means that not just the variables are cleared, but also loaded functions and clases, slowing code down. You can read the options in the doc for clear.
Literally typing
clear variables
seems to do the same as only using clear, but this way you show your intent as well preventing misunderstandings.
Also, you can use wildcards and/or regular expressions to specify groups of variables you might want to clear.
Voir également
Catégories
En savoir plus sur Annotations 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!