COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### Filling in the space between two parallel lines with a color

• Email
• Follow

```Hello all,

How do you go about coloring the space between two parallel lines on a plot?

Fill() seems to be for closed shapes.. so that's no good.  The line properties seems too complicated since I would need to somehow relate the width between my two lines with "points".

Thanks!
```
 0

See related articles to this posting

```"Judy " <sauwen.jl@gmail.com> wrote in message <i37qq9\$srd\$1@fred.mathworks.com>...
> Hello all,
>
> How do you go about coloring the space between two parallel lines on a plot?
>
> Fill() seems to be for closed shapes.. so that's no good.  The line properties seems too complicated since I would need to somehow relate the width between my two lines with "points".
>
> Thanks!

doc area

% Look in the Examples section.
```
 0

```"Judy " <sauwen.jl@gmail.com> wrote in message <i37qq9\$srd\$1@fred.mathworks.com>...
> Hello all,
>
> How do you go about coloring the space between two parallel lines on a plot?
>
> Fill() seems to be for closed shapes.. so that's no good.  The line properties seems too complicated since I would need to somehow relate the width between my two lines with "points".
>
> Thanks!

a hint:

help patch;

us
```
 0

```I looked at patch but when I wanted to color in two vertical lines, it made 2 triangles instead.  I suppose I could indicate 4 vertices.. but that doesn't seem very clean.

I saw an area function as well, and it works well.  I changed my two parallel lines to just an array, going from 0 to 1 and then back down from 1 to 0 when ready.

Only thing now, is the coloring option doesn't seem to be working.

Here is an example.

Why isn't my filled color changing to cyan?

a=zeros(1,10); a(6:7)=5;
figure,
plot(a);
area(a,'FaceColor','c')

Thanks!
```
 0

```Whoops... I meant 4 vertices as more points to make up 4 total triangles.... :P
```
 0

```
"Judy " <sauwen.jl@gmail.com> wrote in message
news:i3ac8p\$qvl\$1@fred.mathworks.com...
> I looked at patch but when I wanted to color in two vertical lines, it
> made 2 triangles instead.  I suppose I could indicate 4 vertices.. but
> that doesn't seem very clean.
>
> I saw an area function as well, and it works well.  I changed my two
> parallel lines to just an array, going from 0 to 1 and then back down from
> 1 to 0 when ready.
> Only thing now, is the coloring option doesn't seem to be working.
>
> Here is an example.
>
> Why isn't my filled color changing to cyan?
>
> a=zeros(1,10); a(6:7)=5;
> figure,
> plot(a);
> area(a,'FaceColor','c')

It did when I tried it.  First, make sure you haven't created your own
area.m function or variable that's shadowing the built-in function:

which -all area

Next, call AREA with an output argument (to store the handle to the
areaseries object AREA created) and GET the properties of that handle.  Make
sure the FaceColor property of that object is cyan [0 1 1].

--
Steve Lord
slord@mathworks.com
comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ
http://www.mathworks.com

```
 0

```Looks like MATLAB thinks it is filling in the right color but it isn't being displayed as so.  I've tried other colors too in the FaceColor property and it still results in a filled in dark blue color as seen in my link below.  I may just have to live with this if there is no other choice.

http://imgur.com/Ko4RR

Thanks~
```
 0

```Judy wrote:
> Looks like MATLAB thinks it is filling in the right color but it isn't
> being displayed as so.  I've tried other colors too in the FaceColor
> property and it still results in a filled in dark blue color as seen in
> my link below.  I may just have to live with this if there is no other
> choice.

What is your renderer set to?
```
 0

```Walter Roberson <roberson@hushmail.com> wrote in message <i3cc6p\$cbf\$1@canopus.cc.umanitoba.ca>...
> Judy wrote:
> > Looks like MATLAB thinks it is filling in the right color but it isn't
> > being displayed as so.  I've tried other colors too in the FaceColor
> > property and it still results in a filled in dark blue color as seen in
> > my link below.  I may just have to live with this if there is no other
> > choice.
>
> What is your renderer set to?

What is a rendered set? (?)   Thanks.
```
 0

```"Judy " <sauwen.jl@gmail.com> wrote in message <i3ac8p\$qvl\$1@fred.mathworks.com>...
> I looked at patch but when I wanted to color in two vertical lines, it made 2 triangles instead.  I suppose I could indicate 4 vertices.. but that doesn't seem very clean.

this reflects a false setup of your X/Y parameters for PATCH...
can you show CSSM how you called the function(?)...
note: PATCH is much more versatile compared to AREA, which comes with a simple level arg to close your patch...

us
```
 0

```"us " <us@neurol.unizh.ch> wrote in message <i3cdh8\$f58\$1@fred.mathworks.com>...
> "Judy " <sauwen.jl@gmail.com> wrote in message <i3ac8p\$qvl\$1@fred.mathworks.com>...
> > I looked at patch but when I wanted to color in two vertical lines, it made 2 triangles instead.  I suppose I could indicate 4 vertices.. but that doesn't seem very clean.
>
> this reflects a false setup of your X/Y parameters for PATCH...
> can you show CSSM how you called the function(?)...
> note: PATCH is much more versatile compared to AREA, which comes with a simple level arg to close your patch...
>
> us

figure,
line([1 1],[0 10]);
line([5,5],[0,10]);
hold on,
plot(0:6, zeros(1,7)); %reference to make plot zoom out a bit
% xData=[1; 5; 1; 5]
% yData=[0; 0; 10; 10]
xData=[1; 1; 5; 5]
yData=[0; 10; 0; 10]
zData=zeros(4,1);
patch(xData,yData,zData,'c')

Here's how my output looks: http://drop.io/rsac8vu1711

Thanks~
```
 0

```"us " <us@neurol.unizh.ch> wrote in message <i3cdh8\$f58\$1@fred.mathworks.com>...
> "Judy " <sauwen.jl@gmail.com> wrote in message <i3ac8p\$qvl\$1@fred.mathworks.com>...
> > I looked at patch but when I wanted to color in two vertical lines, it made 2 triangles instead.  I suppose I could indicate 4 vertices.. but that doesn't seem very clean.
>
> this reflects a false setup of your X/Y parameters for PATCH...
> can you show CSSM how you called the function(?)...
> note: PATCH is much more versatile compared to AREA, which comes with a simple level arg to close your patch...
>
> us

figure,
line([1 1],[0 10]);
line([5,5],[0,10]);
hold on,
plot(0:6, zeros(1,7)); %reference to make plot zoom out a bit
% xData=[1; 5; 1; 5]
% yData=[0; 0; 10; 10]
xData=[1; 1; 5; 5]
yData=[0; 10; 0; 10]
zData=zeros(4,1);
patch(xData,yData,zData,'c')

Here's how my output looks: http://drop.io/rsac8vu1711

Thanks~
```
 0

```"Judy " <sauwen.jl@gmail.com> wrote in message <i3ceu8\$fin\$1@fred.mathworks.com>...
> "us " <us@neurol.unizh.ch> wrote in message <i3cdh8\$f58\$1@fred.mathworks.com>...
> > "Judy " <sauwen.jl@gmail.com> wrote in message <i3ac8p\$qvl\$1@fred.mathworks.com>...
> > > I looked at patch but when I wanted to color in two vertical lines, it made 2 triangles instead.  I suppose I could indicate 4 vertices.. but that doesn't seem very clean.
> >
> > this reflects a false setup of your X/Y parameters for PATCH...
> > can you show CSSM how you called the function(?)...
> > note: PATCH is much more versatile compared to AREA, which comes with a simple level arg to close your patch...
> >
> > us
>
> figure,
> line([1 1],[0 10]);
> line([5,5],[0,10]);
> hold on,
> plot(0:6, zeros(1,7)); %reference to make plot zoom out a bit
> % xData=[1; 5; 1; 5]
> % yData=[0; 0; 10; 10]
> xData=[1; 1; 5; 5]
> yData=[0; 10; 0; 10]
> zData=zeros(4,1);
> patch(xData,yData,zData,'c')
>
> Here's how my output looks: http://drop.io/rsac8vu1711
>
> Thanks~

what CSSMers thought: false arrangement of X/Y data...

one of the solutions

x=[1,5,5,1];
y=[0,0,10,10];
patch(x,y,[0,1,1]);
set(gca,'xlim',[0,6],'ylim',[-1,11]);

us
```
 0

```On Aug 4, 9:42=A0pm, "us " <u...@neurol.unizh.ch> wrote:
> "Judy " <sauwen...@gmail.com> wrote in message <i3ceu8\$fi...@fred.mathwor=
ks.com>...
> > "us " <u...@neurol.unizh.ch> wrote in message <i3cdh8\$f5...@fred.mathwo=
rks.com>...
> > > "Judy " <sauwen...@gmail.com> wrote in message <i3ac8p\$qv...@fred.mat=
hworks.com>...
> > > > I looked at patch but when I wanted to color in two vertical lines,=
it made 2 triangles instead. =A0I suppose I could indicate 4 vertices.. bu=
t that doesn't seem very clean.
>
> > > this reflects a false setup of your X/Y parameters for PATCH...
> > > can you show CSSM how you called the function(?)...
> > > note: PATCH is much more versatile compared to AREA, which comes with=
a simple level arg to close your patch...
>
> > > us
>
> > figure,
> > line([1 1],[0 10]);
> > line([5,5],[0,10]);
> > hold on,
> > plot(0:6, zeros(1,7)); %reference to make plot zoom out a bit
> > % xData=3D[1; 5; 1; 5]
> > % yData=3D[0; 0; 10; 10]
> > xData=3D[1; 1; 5; 5]
> > yData=3D[0; 10; 0; 10]
> > zData=3Dzeros(4,1);
> > patch(xData,yData,zData,'c')
>
> > Here's how my output looks:http://drop.io/rsac8vu1711
>
> > Thanks~
>
> what CSSMers thought: false arrangement of X/Y data...
>
> one of the solutions
>
> =A0 =A0 =A0x=3D[1,5,5,1];
> =A0 =A0 =A0y=3D[0,0,10,10];
> =A0 =A0 =A0patch(x,y,[0,1,1]);
> =A0 =A0 =A0set(gca,'xlim',[0,6],'ylim',[-1,11]);
>
> us- Hide quoted text -
>
> - Show quoted text -

and here's an example to show the versatility of PATCH...

x=3D1:10;
ybot=3Drand(size(x));
ytop=3Drand(size(x))+2;
xp=3D[x,x(end:-1:1)];     % <- closed area...
yp=3D[ybot,ytop(end:-1:1)];
patch(xp,yp,[0,1,1]);
set(gca,'xlim',[0,11],'ylim',[-1,4]);

us
```
 0
Reply us1 (8054) 8/4/2010 7:47:42 PM

```Grah.. I see what I did.  It works, thanks!
```
 0

```Judy wrote:
> Walter Roberson <roberson@hushmail.com> wrote in message
> <i3cc6p\$cbf\$1@canopus.cc.umanitoba.ca>...
>> Judy wrote:
>> > Looks like MATLAB thinks it is filling in the right color but it
>> isn't > being displayed as so.  I've tried other colors too in the
>> FaceColor > property and it still results in a filled in dark blue
>> color as seen in > my link below.  I may just have to live with this
>> if there is no other > choice.
>>
>> What is your renderer set to?
>
> What is a rendered set? (?)   Thanks.

A renderer is a particular algorithm for converting graphics objects into
different limitations or bugs.

http://www.mathworks.com/support/tech-notes/1200/1201.html
```
 0

```Walter Roberson <roberson@hushmail.com> wrote in message <i3cgkr\$i2j\$2@canopus.cc.umanitoba.ca>...
> Judy wrote:
> > Walter Roberson <roberson@hushmail.com> wrote in message
> > <i3cc6p\$cbf\$1@canopus.cc.umanitoba.ca>...
> >> Judy wrote:
> >> > Looks like MATLAB thinks it is filling in the right color but it
> >> isn't > being displayed as so.  I've tried other colors too in the
> >> FaceColor > property and it still results in a filled in dark blue
> >> color as seen in > my link below.  I may just have to live with this
> >> if there is no other > choice.
> >>
> >> What is your renderer set to?
> >
> > What is a rendered set? (?)   Thanks.
>
> A renderer is a particular algorithm for converting graphics objects into
> different limitations or bugs.
>
> http://www.mathworks.com/support/tech-notes/1200/1201.html

The command
get(gcf,'Renderer')
gets me painters.. doesn't seem to have any known problems like OpenGL.
```
 0