fill rectangles with colors

67 visualizaciones (últimos 30 días)
ahmed noori
ahmed noori el 4 de Ag. de 2020
Comentada: ahmed noori el 5 de Ag. de 2020
hello ..
i used this instraction to plot rectangles with defrent colors ..i need help to fill those rectangles with colors .>>
thanks for hellllp :)
.plot([posx posx+Element(i).W posx+Element(i).W posx posx],...
[posy posy posy+Element(i).H posy+Element(i).H posy],...
'-','color',cl(i,:))

Respuestas (3)

Sudheer Bhimireddy
Sudheer Bhimireddy el 4 de Ag. de 2020
Try this:
With the vertices you have, create surfaces and adjust the Z value to see the overlap. However, this way hides the overlapped regions and shows only the top most surface as shown in the attached image.
h=figure;
surf([0 1;0 1],[0 0;1 1],[1 1;1 1]);
hold on;
surf([0 2;0 2],[0 0;2 2],[1 1;1 1]-0.01);
surf([1.4 1.8;1.4 1.8],[1.4 1.4;1.8 1.8],[1 1;1 1]+0.01);
surf([0.7 1.2;0.7 1.2],[0.7 0.7;1.2 1.2],[1 1;1 1]+0.02);
view([0 90]);
Result:
Hope this helps.

Image Analyst
Image Analyst el 4 de Ag. de 2020
Did you try the rectangle() function? It has options for 'FaceColor', and 'EdgeColor'.
  3 comentarios
Sudheer Bhimireddy
Sudheer Bhimireddy el 5 de Ag. de 2020
If you are using rectangle() inside the loop and have manageable number of them, make sure to alter the 'FaceColor' and 'EdgeColor' properties each time the method is invoked.
% this way you will have more control over coloring them
edge_colors = {'k','r','b','m','g','c'};
face_colors = {'k','r','b','m','g','c'};
h = figure;
clf;
hold on;
for i =1:n
rectangle([ ],[ ],'FaceColor',face_colors{i},'EdgeColors',edge_colors{i});
end
ahmed noori
ahmed noori el 5 de Ag. de 2020
thank you ..it was so useful

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 5 de Ag. de 2020
Try this:
numRects = 20;
positions = rand(numRects, 4); % Positions = [x, y, width, height]
% this way you will have more control over coloring them
edge_colors = rand(numRects, 3);
face_colors = rand(numRects, 3);
h = figure;
clf;
hold on;
for k = 1 : numRects
rectangle('Position', positions(k, :), 'FaceColor',face_colors(k, :),'EdgeColor',edge_colors(k, :), 'LineWidth', 2);
end
grid on;
  1 comentario
ahmed noori
ahmed noori el 5 de Ag. de 2020
that was so useful ... thanks

Iniciar sesión para comentar.

Categorías

Más información sobre Graphics Object Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by