Script Writes Correctly, The Graph Still Doesn't Show Up

1 view (last 30 days)
I'm working with k-means in MATLAB. And here is my code:
k=input('Enter a number: ');
[g c] = kmeans(cobat,k,'dist','SqEuclidean');
y = [cobat g]
[s,h]=silhouette(cobat,g,'SqEuclidean') %Show the silhouette graphic
%Show the plot3D graphic
Colors=hsv(k);
PlotClusters(cobat,g,c,Colors)
When I run it, it works anyway, but why " [s,h]=silhouette(cobat,g,'SqEuclidean')" can't be shown?
When I deleted this line: Colors=hsv(k); PlotClusters(cobat,g,c,Colors)
The silhouette graph can be shown.
What should I do so all the graphs can be shown?
Your help means a lot to me, thank you.

Accepted Answer

Matt Kindig
Matt Kindig on 9 May 2013
Call hold on after your silhouette() call. 'hold on' prevents the current axes from being cleared after each plotting command.
[s,h]=silhouette(cobat,g,'SqEuclidean') %Show the silhouette graphic
hold on;
%Show the plot3D graphic
Colors=hsv(k);
PlotClusters(cobat,g,c,Colors)
doc hold

More Answers (0)

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!