Plotting plain grid of size 100 X 100 AND selecting a "block" in the grid
11 views (last 30 days)
Show older comments
Ammar Babikir
on 31 Aug 2017
Commented: Evangelos Rompogiannakis
on 18 Nov 2020
I'm trying to plot a plain grid of a certain size. The regular " grid on " function gives me an automatic 1 X 1 grid.
I'm trying to plot a grid that is 100 X 100 and having each block a size of 1 X 1. This is what I have attempted so far:
x = (0:1:100)
y = (0:1:100)
fig1 = plot(x,x)
grid on
xlabel('x-axis')
ylabel('y-axis')
This is what it outputs
I'd like to output this grid without the line y=x showing up on it.
Also, I am trying to figure out how to select a specific block on the grid. I know that I can select a specific point on the grid but how would I be able to "shade in" an exact block on the grid.
0 Comments
Accepted Answer
Star Strider
on 31 Aug 2017
Try this:
figure(1)
plot([0:100; 0:100], [0:100; 0:100], 'k')
hold on
fill([0 1 1 0]+50, [0 0 1 1]+50, 'r') % Colour (50,50) Red
hold off
hax = gca;
hax.XTick = 0:100;
hax.YTick = 0:100;
hax.XTickLabel = [];
hax.YTickLabel = [];
grid
axis square
8 Comments
Star Strider
on 1 Sep 2017
The ‘hax’ variable is the handle to the axes object created with the initial plot call. See the documentation on Axis Properties (link) for a full description.
The hold calls permit plotting more objects (here the fill call) on the same axes. I use ‘hold on’ and ‘hold off’ to keep track of the hold state. Without the ‘on’ and ‘off’ designators, hold simply toggles the hold state.
Evangelos Rompogiannakis
on 18 Nov 2020
If i want to fill all the blocks where y < x how can i do it ??
See Also
Categories
Find more on Interactive Control and Callbacks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!