Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

shade area between vertical lines

852 views
Skip to first unread message

elmanthira

unread,
Mar 14, 2004, 11:58:55 PM3/14/04
to
Hello.

I know that it is possible to have Mathematica generate a plot that
shows the area shaded in between the lines y=1 and y=2 with something like:
<<Graphics`FilledPlot`;
FilledPlot[{1, 2}, {x, -1, 5}, PlotRange -> {-1, 5}]

This makes a lovely display of the open set in R^2 {(x,y):1<y<2}.

I wish to intersect this with the set in R^2 {(x,y):1<x<2}.

First, how can I make it graph the four lines on the same plot, AND
shade in rectangle formed by the overlapping bars.

Ideally, I'd want the bars to be shaded in with the rectangle formed to
have some sort of crosshatch pattern, or other "darker" area. It seems
that Mathematica automatically does some color differentiation for
different regions, and that would be adequate, I hope.

I'm using Mathematica 5 (for the classroom, if that matters), on WinXP
Pro. I'm not a very sophisticated mathematica user, but since it's
spring break, I thought I'd start writing down some of my notes.

Thanks much.

Wolf, Hartmut

unread,
Mar 16, 2004, 2:38:21 AM3/16/04
to

Perhaps you like to try this:

<< Graphics`FilledPlot`

Plot[{x^2}, {x, -1, 5}, PlotRange -> {{-1, 5}, {-1, 5}},
GridLines -> {{1., 2.}, {1, 4}},
Prolog -> {{Hue[1/2, .3, 1], Rectangle[{1., -1.}, {2., 5.}],
Hue[1/2, .3, 1], Rectangle[{-1., 1.}, {5., 4.}], Hue[1/2],
Rectangle[{1., 1.}, {2., 4.}]}}, DisplayFunction -> Identity]

Show[%, AxesFront -> True, DisplayFunction -> $DisplayFunction]

--
Hartmut Wolf

Bob Hanlon

unread,
Mar 16, 2004, 2:40:24 AM3/16/04
to
Needs["Graphics`"];

Use InequalityPlot

InequalityPlot[
{1<x<2, 1<y<2},
{x,0,3}, {y,0,3},
PlotRange->{{-1,5},{-1,5}},
Fills->Violet,
Prolog->{LightBlue,
Rectangle[{-1, 1}, {5, 2}],
Pink,
Rectangle[{1, -1}, {2, 5}],
Blue,
Line[{{-1,1}, {5,1} }],
Line[{{-1,2}, {5,2} }],
Red,
Line[{{1,-1}, {1,5} }],
Line[{{2,-1}, {2,5} }]}];

Or graphics primatives

Show[Graphics[{
LightBlue,
Rectangle[{-1, 1}, {5, 2}],
Pink,
Rectangle[{1, -1}, {2, 5}],
Violet,
Rectangle[{1, 1}, {2, 2}],
Blue,
Line[{{-1,1}, {5,1} }],
Line[{{-1,2}, {5,2} }],
Red,
Line[{{1,-1}, {1,5} }],
Line[{{2,-1}, {2,5} }]}],
Axes->True, AxesFront->True,
AspectRatio->1];


Bob Hanlon

In article <c33d6f$fs3$1...@smc.vnet.net>, elmanthira

elmanthira

unread,
Mar 16, 2004, 8:09:25 PM3/16/04
to
Thanks much. I think I'm going to use the inequality dealie.

Hartmut Wolf's suggestion gave me the error "x2 is not a machine-size
real number at x =" a whole bunch of times, but had the lovely property
of using the filled plot function that I have a bit of familiarity with.

Now I need to figure out how to make dashed lines (I'm assuming it's
going to be very similar.)

An ancillary question brought up by all three suggestions I saw today:

What does Prolog mean/do? I read the help file's description of it, but
my ignorance was unfazed.

Thanks for your time.

0 new messages