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

1 次查看(过去 30 天)
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.

采纳的回答

Matt Kindig
Matt Kindig 2013-5-9
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by