# Patch color error "Vectors must be the same length."

2 visualizzazioni (ultimi 30 giorni)
cfy30 il 29 Giu 2020
Commentato: cfy30 il 29 Giu 2020
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 CommentiMostra NessunoNascondi Nessuno
Geoff Hayes il 29 Giu 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 il 29 Giu 2020
Hi Geoff,
I want to set the face color of the patch by the RGB color. Any easy way to do so?
Thanks,
cfy30

Accedi per commentare.

### Risposta accettata

Tommy il 29 Giu 2020
The docs linked by Geoff mention that you can specify an n-by-1-by-3 array of RGB values (for n number of faces). I've defined c to be an n-by-3 array of RGB values and then used reshape() to get the dimensions right:
c=[0 0 0.5156 % <- RGB of first color
0.7344 1.0000 0.2656]; % <- RGB of second color
figure;
patch(x, y, reshape(c,[],1,3), 'FaceColor', 'flat');
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
cfy30 il 29 Giu 2020
Thanks Tommy! It works!

Accedi per commentare.

### Più risposte (1)

Ameer Hamza il 29 Giu 2020
Modificato: Ameer Hamza il 29 Giu 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
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
cfy30 il 29 Giu 2020
Thanks Ameer. I used for-loop but want to experiment without it. When I plot up to like 1000 patchs, copy and paste the figure in emf formatting to Word/Powerpoint becomes very big. I want to see if the issue is because of the for-loop used.

Accedi per commentare.

### Categorie

Scopri di più su Polygons in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by