Filling area between more curves

조회 수: 12 (최근 30일)
Anezka Koterova
Anezka Koterova 2019년 9월 15일
댓글: Anezka Koterova 2019년 9월 17일
I am trying to colour the area between more curves (given also in implicite form) with one unbounded and transparent colour. This is example, how it should looks like (except from the red vertical line y=2):
And I have a same problem with planes. Is there any function to fill this "multiarea" or area between more surfaces?
I can only use fill, but it does not create comprehensive and transparent area between more curves.
Thank you.

채택된 답변

Bruno Luong
Bruno Luong 2019년 9월 15일
Change accordingly to suit your need.
tt = linspace(0,2*pi,361);
xy = [2*cos(tt);
4*sin(tt)];
close all
hold on
plot(xy(1,:), xy(2,:), 'k');
plot([-4 4],[0 0], 'k');
plot([-4 0],[-4 4], 'k');
plot([1 1],[-4 4], 'r');
b = [0; 1]'*xy >= 0 &...
[2; -1]'*xy >= [2; -1]'*[-2;0] ;
xyfill = [[-2;0] xy(:,b) [0; 4]];
patch('xdata',xyfill(1,:),'ydata',xyfill(2,:),'facecolor','b','facealpha',0.2, 'linewidth', 2);
axis equal
fill.png
  댓글 수: 11
Bruno Luong
Bruno Luong 2019년 9월 16일
Possibly, here is a simple example
Anezka Koterova
Anezka Koterova 2019년 9월 17일
Thank You. I will explore that.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by