MATLAB Answers

How to plot line on graph

1 view (last 30 days)
Kong
Kong on 10 Apr 2020
Commented: Star Strider on 11 Apr 2020
Hello. I want to plot a curve line.
When I used this, I got the graph.
I want to plot a red curve line without a blue stick. Could I get an idea to fix this code?
for i = 2:30:750
X = csvread('kth_hog2_only.csv');
Y = csvread('kth_hog2_only_class.csv');
X = X(:,1:i);
Mdl = fitcknn(X,Y,'NumNeighbors',3,...
'NSMethod','exhaustive','Distance','cosine',...
'Standardize',1);
rng(1); % For reproducibility
CVKNNMdl = crossval(Mdl, 'KFold', 5);
classAccuracy(i) = 100 - kfoldLoss(CVKNNMdl, 'LossFun', 'ClassifError')*100;
end
plot(classAccuracy)
xlabel('Number of Clusters')
ylabel('CV Sum of Squared Distances')

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 10 Apr 2020
Without your data, providing exact code is not possible.
In the interim, try this:
[pks,locs] = findpeaks(classAccuracy);
figure
plot(locs, pks, '-r')
or this:
L = islocalmax(classAccuracy);
x = 1:numel(classAccuracy);
figure
plot(x(L), classAccuracy(L), '-r')
Both should give the same result.

  2 Comments

Kong
Kong on 10 Apr 2020
Thank you so much.
I used second method.
Star Strider
Star Strider on 11 Apr 2020
As always, my pleasure!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!