%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 Kommentare

Bob Thompson
Bob Thompson am 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 am 15 Jan. 2019
Bearbeitet: KSSV am 15 Jan. 2019
It depends on how the data is arranged in your csv file. Attach your csv file.
Alos try
plot(m',n')

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 15 Jan. 2019

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 14 Jan. 2019

Bearbeitet:

am 9 Apr. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by