Reputation:
I would to plot above the above figure with some or none characters in the boxes. Thanks.
Upvotes: 0
Views: 243
Reputation: 7175
One method for displaying tabular data on a figure is to use UITABLE:
data = 'U1' 'U2' 'U3' 'U4' 'U5' [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] 'U85' >> uitable('Data', data, 'Units', 'normalized', 'Position', [0 0 1 1]);
which produces:
Upvotes: 1
Reputation: 22588
If you really want a plot, you can do it with a function like this:
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')
For example:
>> x = num2cell(randi(10, [10 6]));
>> plotGrid(x)
Upvotes: 3