How to draw a square with specific plot points

680 views (last 30 days)
I'm trying to create two squares, one larger one, and the other within it.
I attempted to create one using matrices. I create one with x = [0 0 1 1] and y = [0 1 1 0]
I wanted a line to connect each one of the points, to thus create a line. However, when I did that, I only received three lines connect between the dots for some reason. The bottom points (0,0) and (1,0) for some reason were not connected. I then attempted to make a second square, and the same thing happened, with the two lower points in regards to their Y points did not connect. I tried using the rectangle function as well, but can't get a square within a square to appear. Any help would be great. Thanks
  1 Comment
NAGENDRA KUMAR
NAGENDRA KUMAR on 12 Sep 2017
Please write this code x = [0 0 1 1 0]; y = [0 1 1 0 0]; plot(x,y,'r', 'LineWidth',3)

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 8 Oct 2013
Edited: Image Analyst on 8 Oct 2013
You need 5 points - the last one is to "close off" the square, otherwise it won't be closed because you didn't draw the line back to the starting point. So, try this
x1=0;
x2=1;
y1=0;
y2=1;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'b-', 'LineWidth', 3);
hold on;
x1=0.25;
x2=.75;
y1=0.25;
y2=.75;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'b-');
xlim([-1, 2]);
ylim([-1, 2]);
  2 Comments
Paul
Paul on 8 Oct 2013
perfect!
If you ever had to create two similar objects like this (for example two squares), would you recommend going about it another way? I tried with the rectangle function as well, it seemed potentially more convenient.
Once again, thanks for the response.
Image Analyst
Image Analyst on 8 Oct 2013
I think the way I did it is easier to understand than rectangle. In my mind I just visualize starting at the upper left corner and marching around the square in a clockwise fashion. First I do the x's then I do the y's. And so it's really quick for me to construct the 5 element x and y matrices.

Sign in to comment.

More Answers (1)

Camilo Malagon Nieto
Camilo Malagon Nieto on 8 May 2019
Worth to say that there is a function now to make a rectangle and smooth the corners.
Cheers,

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!