bhavs
bhavs

Reputation: 2291

draw vertical lines at regular intervals in a rectangle in matlab

I need to draw vertical lines at regular intervals in a rectangular box. this is what i have used so far:

xmin=000;
xmax=70000;

ymin=0;
ymax=1000;


line1Val=900;
line2Val=600;
line3Val=300;
xlim([xmin xmax])
ylim([ymin ymax])
xl=get(gca,'XLim');
line(xl,[line1Val line1Val],'Color','y');
line(xl,[line2Val line2Val],'Color','y');
line(xl,[line3Val line3Val],'Color','y');
hold on ;

rectangle('Position',[120000,900,(280000-120000),37],'faceColor','k') 

so the width of the rectangle is 160000 units i want to divide this into 4 , where the vertical line is of a different color(say red) and the height of the line is 37 units.

any ideas on how i can draw this without drawing 4 rectangles whose edges are red and are filled with black color.

Upvotes: 0

Views: 2349

Answers (1)

Christian Reimer
Christian Reimer

Reputation: 445

You could use the parameters xstart,ystart,width and height for drawing your rectangle:

rectangle('Position',[xstart,ystart,width,height],'faceColor','k');

After that, you could determine the line positions in a loop and simply draw these lines:

for i = 1:3
    x = xstart+i*width/4;
    line([x x],[ystart ystart+height],'Color','r');
end

If you want a red line at the start and end of the rectangle, let i = 0:4.

Upvotes: 4

Related Questions