Azzera filtri
Azzera filtri

how to plot a 10*10 grid map and how to number the grid cells? (sample pic is attached here)

99 visualizzazioni (ultimi 30 giorni)
Guys, I am in learning phase of matlab. I don't know how to plot this type of grid? i knew plotting simple grids, but this one made me mad. Is it possible to make this kind of one? I attached the model of the grid. thanks guys

Risposta accettata

Youssef  Khmou
Youssef Khmou il 18 Set 2014
I have a model that i wrote already, try to compare it with Joseph's method.
[X,Y]=meshgrid(1:11);
figure; hold on;
plot(X,Y,'k');
plot(Y,X,'k');axis off
I=(rand(11));
surface(I);
h=linspace(0.5,1,64);
h=[h',h',h'];
set(gcf,'Colormap',h);
N=100:-1:1;q=1;
x=linspace(1.5,10.5,10);
y=linspace(1.5,10.5,10);
for n=1:10
for p=1:10
text(y(n)-.5,x(p),num2str(N(q)),'FontWeight','bold');
q=q+1;
end
end
  2 Commenti
dinesh tce
dinesh tce il 21 Set 2014
thanks youssef,,,your coding is simple and i can understand easily...i have one question..if i like to make some grid in black& white color what i have to do?? i tried with colormap command but it gives entire figure as black

Accedi per commentare.

Più risposte (2)

Michael Haderlein
Michael Haderlein il 15 Set 2014
I don't know what you mean with "plot this grid". Maybe something like this?
grid=reshape(0:99,10,10)';
figure, surf(grid)
  2 Commenti
dinesh tce
dinesh tce il 18 Set 2014
thanks for your reply.. i like to create 10*10 grid with cells labelled in numbers.that's all
ANDREA DI MARTINO
ANDREA DI MARTINO il 4 Nov 2021
Hi, how I can create an undirected graph with grid=reshape(0:99,10,10)';?
I need to create a grid graph 10x10 with undirected edges.

Accedi per commentare.


Joseph Cheng
Joseph Cheng il 18 Set 2014
Modificato: Joseph Cheng il 18 Set 2014
you can use the text() to insert the grid labeling. here is an example. this is for labeling 1x1 pixels but it is scalable for larger grid sizes.
%something in the background
I = magic(10)
%generate where each text will go
[X Y]=meshgrid(1:10,1:10);
%create the list of text
string = mat2cell(num2str([1:10*10]'),ones(10*10,1));
%display the background
imagesc(I)
hold on
%insert the labels
text(Y(:)-.5,X(:)+.25,string,'HorizontalAlignment','left')
%calculte the grid lines
grid = .5:1:10.5;
grid1 = [grid;grid];
grid2 = repmat([.5;10.5],1,length(grid))
%plot the grid lines
plot(grid1,grid2,'k')
plot(grid2,grid1,'k')
  4 Commenti

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by