Patch color error "Vectors must be the same length."
Show older comments
I am trying to plot 2 patchs with different color. " patch(x, y, c, 'FaceColor', 'flat');" shows error "Vectors must be the same length.". How to setup the color?
x =[ 1 2
1 2
2 3
2 3];
y =[1 2
2 3
2 3
1 2];
c=[0 0.7344
0 1.0000
0.5156 0.2656];
figure;
patch(x, y, 'r');
figure;
patch(x, y, c, 'FaceColor', 'flat');
Thanks,
cfy30
2 Comments
Geoff Hayes
on 29 Jun 2020
cfy30 - which of the effects from C - polygon colours are you interested in? Because that will tell you what the dimensions for C should be.
cfy30
on 29 Jun 2020
Accepted Answer
More Answers (1)
Ameer Hamza
on 29 Jun 2020
Edited: Ameer Hamza
on 29 Jun 2020
Using for-loop seems to be the simplest solution in this case.
x =[ 1 2
1 2
2 3
2 3];
y =[1 2
2 3
2 3
1 2];
c=[0 0.7344
0 1.0000
0.5156 0.2656];
figure;
for i=1:size(x,2)
patch(x(:,i), y(:,i), c(:,i).');
end

Categories
Find more on Polygons 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!