fill rectangles with colors

조회 수: 30 (최근 30일)
ahmed noori
ahmed noori 2020년 8월 4일
댓글: ahmed noori 2020년 8월 5일
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,:))

답변 (3개)

Sudheer Bhimireddy
Sudheer Bhimireddy 2020년 8월 4일
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.
  댓글 수: 1
ahmed noori
ahmed noori 2020년 8월 5일
thanks ..i ll try it

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2020년 8월 4일
Did you try the rectangle() function? It has options for 'FaceColor', and 'EdgeColor'.
  댓글 수: 3
Sudheer Bhimireddy
Sudheer Bhimireddy 2020년 8월 5일
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 2020년 8월 5일
thank you ..it was so useful

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2020년 8월 5일
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
ahmed noori
ahmed noori 2020년 8월 5일
that was so useful ... thanks

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by