how to plot rectangles from csv data

%hi,
%how to plot rectangles from csv files? This code does read the csv file
Array=csvread('dataxyz.csv');
n = Array(:, 1);
m = Array(:, 2);
plot(m, n)
%but it doesnt work
c = [n m];disp(c);
pos = [c-R*0.5 R R];
r = rectangle('Position',pos,'Curvature',[1 1], 'FaceColor', 'black', 'Edgecolor','none')
%thankyou

3 commentaires

Bob Thompson
Bob Thompson le 14 Jan 2019
Can you elaborate more on what exactly isn't working? Are you getting some kind of error message? Is it not producing rectangles for you? Is it producing rectangles of the wrong size? Is it producing rectangles in the wrong locations?
Each call to rectangle() draws exactly one rectangle. You cannot get rectangle to draw multiple rectangles in a single call.
Hint:
x = [x1 x2 x2 x1 x1 nan x3 x4 x4 x3 x3 nan ...]
y = [y1 y1 y2 y2 y1 nan y3 y3 y4 y4 y3 nan ...]
plot(x, y)
KSSV
KSSV le 15 Jan 2019
Modifié(e) : KSSV le 15 Jan 2019
It depends on how the data is arranged in your csv file. Attach your csv file.
Alos try
plot(m',n')

Connectez-vous pour commenter.

 Réponse acceptée

KSSV
KSSV le 15 Jan 2019
A = [1 31
4 9
12 56
17 12
47 43
56 45
43 25
50 14] ;
R = 1 ;
th = linspace(0,2*pi) ;
x = R*cos(th) ;
y = R*sin(th) ;
figure
hold on
for i = 1:size(A,1)
xc = A(i,1)+x ;
yc = A(i,2)+y ;
plot(xc,yc) ;
end

1 commentaire

vishnu
vishnu le 15 Jan 2019
Modifié(e) : vishnu le 15 Jan 2019
thank you all, especially to mr KSSV, it works well now with simple for loop i = 1:size(A,1)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by