2013-05-19 64 views
1

我在MATLAB GUI中使用k-means和轮廓。在我的MATLAB GUI上,有一些按钮,我们称之为'k-means'和'silhouette'。解决MATLAB GUI上的图选项卡

这是k均值的代码:

[g c] = kmeans(data,k,'dist','SqEuclidean');

y = [data g];

t=uitable;

set(t,'Data',y) %this line will show the table in figure tab

而这是用于轮廓的代码:

[s,h]=silhouette(data,g,'SqEuclidean');

它工作得很好。轮廓功能显示图标签中的图形。不过,我也想创建表格版本,以查看每行的轮廓值。这是我写的代码:

[s,h]=silhouette(data,g,'SqEuclidean');

z = [data s]

t = uitable;

set(t,'Data',z);

它的工作原理,但它看起来是这样的:

problem1

我想要显示在不同图标签中的图形和表格。

我曾尝试添加像抓住了一些事情,所以我的代码是这样的:

[s,h]=silhouette(data,g,'SqEuclidean'); 
    z = [data s] 
    figure, hold on 
    t = uitable; 
    set(t,'Data',z); 

它是这个样子:

problem2

几乎工作。但是我希望图3的背景清晰,所以只有表格。

任何想法如何解决这个问题?

回答

1

你可以通过删除hold on来得到你想要的。

如果你宁愿有两个情节,并在同一个图中的餐桌旁对方,你可以调整表的这样的位置:

set(t, 'Position', [left bottom width height]) 
+0

工作完全正常。谢谢! –