Решение вкладки "Рисунок" в MATLAB GUI

Я работаю с k-means и силуэтом в MATLAB GUI. На моем MATLAB GUI есть несколько кнопок, назовем их "k-means" и "силуэт".

Это код для 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);

Это работает, но выглядит так:

задачи1

Я хочу, чтобы графика и таблица отображались на другой вкладке рисунка.

Я попытался добавить что-то вроде удержания, поэтому мой код был таким:

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

И это показано так:

задачи2

Почти работает. Но я хочу, чтобы фон на рисунке 3 был четким, поэтому в нем есть только таблица.

Есть идеи, как это решить?

1 ответ

Решение

Вы можете получить то, что вы хотите, просто удалив hold on,

Если вы хотите, чтобы график и таблица находились на одном и том же рисунке рядом друг с другом, вы можете настроить положение таблицы следующим образом:

set(t, 'Position', [left bottom width height])
Другие вопросы по тегам