在MATLAB GUI上解决图标签

时间:2013-05-19 10:15:55

标签: matlab matlab-guide figure matlab-uitable

我在MATLAB GUI中使用k-means和silhouette。在我的MATLAB GUI上,有一些按钮,我们称之为'k-means'和'silhouette'。

这是k-means的代码:

[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

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

我试过添加像hold一样的东西,所以我的代码是这样的:

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

它显示如下:

problem2

几乎可以工作。但我希望图3的背景清晰,因此其中只有表格。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

只需删除hold on即可获得所需内容。

如果您希望将图表和表格放在彼此相同的图中,您可以像这样调整表格的位置:

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