Как я могу нарисовать сетку фигуры, как показано в Matlab? - PullRequest
0 голосов
/ 03 февраля 2012

enter image description here

Я хотел бы построить вышеупомянутый рисунок с некоторыми или без символов в полях.Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 февраля 2012

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

function plotGrid(x)

dims = size(x);

% Get grid
tick_x = linspace(0, 1, dims(2)+1);
tick_y = linspace(0, 1, dims(1)+1);

% Get center points
pt_x = (0.5:dims(2)) / dims(2);
pt_y = (0.5:dims(1)) / dims(1);

[pt_x pt_y] = meshgrid(pt_x, pt_y);

% Plot
figure; hold on; axis off
plot([tick_x; tick_x], repmat((0:1)', 1, dims(2)+1), 'k')
plot(repmat((0:1)', 1, dims(1)+1), [tick_y; tick_y], 'k')
text(pt_x(:), pt_y(:), x(:), 'HorizontalAlignment', 'center')

Например:

>> x = num2cell(randi(10, [10 6]));
>> plotGrid(x)

enter image description here

1 голос
/ 07 февраля 2012

Один из способов отображения табличных данных на фигуре заключается в использовании UITABLE :

data = 

    'U1'    'U2'    'U3'    'U4'    'U5' 
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []    'U85'

>> uitable('Data', data, 'Units', 'normalized', 'Position', [0 0 1 1]);

, который дает:

enter image description here

...