Error in plot function
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hassan Ashraf
le 19 Sep 2019
Commenté : Hassan Ashraf
le 20 Sep 2019
Hi I am plotting some results but getting an error in Plot Function. I am using MATLAB 2018b, below is my code
load MCAsLDA
MCAsLDA = table2array(MCAsLDA);
WindowSizes=MCAsLDA(:,1);
Data1Disjoint=MCAsLDA(:,2);
% Data1Disjoint=smooth(Data1Disjoint);
Data1Overlap=MCAsLDA(:,3);
% Data1Overlap=smooth(Data1Overlap);
Data2Disjoint=MCAsLDA(:,4);
% Data2Disjoint=smooth(Data2Disjoint);
Data2Overlap=MCAsLDA(:,5);
% Data2Overlap=smooth(Data2Overlap);
Data3Disjoint=MCAsLDA(:,6);
% Data3Disjoint=smooth(Data3Disjoint);
Data3Overlap=MCAsLDA(:,7);
f1=fit(WindowSizes,Data1Disjoint,'cubicinterp');
f2=fit(WindowSizes,Data2Disjoint,'cubicinterp');
f3=fit(WindowSizes,Data3Disjoint,'cubicinterp');
f4=fit(WindowSizes,Data1Overlap,'cubicinterp');
f5=fit(WindowSizes,Data2Overlap,'cubicinterp');
f6=fit(WindowSizes,Data3Overlap,'cubicinterp');
figure
hold on
p1=plot(f1,WindowSizes,Data1Disjoint,'LineWidth',2);
p2=plot(f2,WindowSizes,Data2Disjoint);
p3=plot(f3,WindowSizes,Data3Disjoint);
p4=plot(f4,WindowSizes,Data1Overlap);
p5=plot(f5,WindowSizes,Data2Overlap);
p6=plot(f6,WindowSizes,Data3Overlap);
grid on
title('Classification accuracy Vs. Window Sizes for LDA')
ylabel('Mean Classification Accuracy')
1 commentaire
Adam Danz
le 19 Sep 2019
Always specify the entire error message.
The logical indices contain a true value outside of the
array bounds.
Error in cfit/plot (line 226)
handles =
plot(xpoints(~outliers),ypoints(~outliers),S2,...
Error in jff (line 26)
p1=plot(f1,[WindowSizes,Data1Disjoint],'LineWidth',2);
Réponse acceptée
Adam Danz
le 19 Sep 2019
Modifié(e) : Adam Danz
le 19 Sep 2019
Remove the 'LineWidth' name-value pair and specify it after plotting.
p1=plot(f1,WindowSizes,Data1Disjoint);
set(p1,'LineWidth', 2, 'MarkerSize', 25)
If you want to change the properties for all objects,
p(1,:)=plot(f1,WindowSizes,Data1Disjoint);
p(2,:)=plot(f2,WindowSizes,Data2Disjoint);
p(3,:)=plot(f3,WindowSizes,Data3Disjoint);
p(4,:)=plot(f4,WindowSizes,Data1Overlap);
p(5,:)=plot(f5,WindowSizes,Data2Overlap);
p(6,:)=plot(f6,WindowSizes,Data3Overlap);
set(p, 'LineWidth', 2, 'MarkerSize', 20)
Set different colors for each line
set(p(:,2), {'Color'}, mat2cell(jet(size(p,1)),ones(size(p,1),1),3))
Clean up the legend
set(p(:,2), {'DisplayName'}, strcat('fit #',strsplit(num2str(1:size(p,1))))')
legend(p(:,2))
Final result
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Legend 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!