我在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);
它有效,但看起来像这样:
我希望图形和表格显示在不同的图形标签中。
我试过添加像hold一样的东西,所以我的代码是这样的:
[s,h]=silhouette(data,g,'SqEuclidean');
z = [data s]
figure, hold on
t = uitable;
set(t,'Data',z);
它显示如下:
几乎可以工作。但我希望图3的背景清晰,因此其中只有表格。
知道如何解决这个问题吗?
答案 0 :(得分:1)
只需删除hold on
即可获得所需内容。
如果您希望将图表和表格放在彼此相同的图中,您可以像这样调整表格的位置:
set(t, 'Position', [left bottom width height])