       Re: Re: how fill PolarPlot?

• To: mathgroup at smc.vnet.net
• Subject: [mg84454] Re: [mg84431] Re: [mg84420] how fill PolarPlot?
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Tue, 25 Dec 2007 06:27:34 -0500 (EST)

```PolarPlot[Cos[2 theta], {theta, 0, 2 Pi},
ColorFunction ->
Function[{x, y}, If[-Pi/4 <= ArcTan[x, y] <= Pi/4, Red, Blue]],
ColorFunctionScaling -> False]

Bob Hanlon

---- Murray Eisenberg <murray at math.umass.edu> wrote:
> I was finally able to do this with Epilog->{Inset[RegionPlot[...]]}.
>
> Below is the entire code for the embellished plot I wanted.  I am still
> unhappy with at the amount of work I had to do in order to adjust the
> ImageSize of the filled leaf and the thickness of its boundary so as to
> cover up the underlying blue boundary of that leaf from the PolarPlot.
>
> Some of that adjustment could probably be avoided by using a
> ColorFunction for the overall POlarPlot.  But how does one set up
> ColorFunction for PolarPlot so as to specify using, say, one color for
> part of the plot and another for another part, depending on the value of
> theta alone?
>
> I found no example of ColorFunction in the documentation.  I tried, e.g.,
>
>   PolarPlot[Cos[2 theta], {theta, 0, 2 Pi},
>     ColorFunction ->
>       Function[{theta,r}, If[-Pi/4 <= theta <= Pi/4, Red, Black]]]
>
> but that doesn't work as expected.
>
> The finished figure's code:
>
>    txt[t_,{x_,y_}]:=Style[Text[t,{x,y}],FontSize->30,FontWeight->Bold]
>    {xmin,xmax}={-1.425,1.425}; {ymin,ymax}={-1.25,1.25};
>
>    PolarPlot[Cos[2t],{t,0,2Pi}, PlotRange->{{xmin,xmax},{ymin,ymax}},
>      PlotStyle->{ColorData["Legacy","SteelBlue"], Thickness[0.007]},
>      Ticks->None,
>
>      Epilog->{
>        Inset[RegionPlot[(x^2+y^2)^(3/2)<=x^2-y^2,{x,-0.02,1},{y,-1,1},
>                PlotStyle->ColorData["HTML","Gold"],
>                BoundaryStyle->Directive[Thickness[0.025],
>                Frame->False,AspectRatio->Automatic,
>                ImageSize->2.6*72],
>           {0.5,0}],
>         Black,Thick,Dashing[{0.045,0.03}],
>         Line[{{0,0},{0.85,0.85}}],Line[{{0,0},{0.85,-0.85}}],
>         Dashing[{}],Thick,
>         Arrow[{{xmin,0},{xmax,0}}],Arrow[{{0,ymin},{0,ymax}}],
>      },
>    ImageSize->7*72]
>
> Murray Eisenberg wrote:
> > I Mathematica 6 I have a PolarPlot, e.g., a 4-leaved rose:
> >
> >    PolarPlot[Cos[2 theta], {theta, 0, 2 Pi}]
> >
> > How can I fill the inside -- or, what I really want, just the leaf in
> > the right half-plane -- with some color?
> >
> > I note that Filling does not seem to be an option for PolarPlot (or for
> > what would be almost as good, ParametricPlot).
> >
> > I tried including the following (obtained by converting from :
> >
> >    Prolog->RegionPlot[(x^2 + y^2)^(3/2) <= x^2-y^2, {x,-0.02,1},{y,-1,1},
> >        Frame->False, AspectRatio->Automatic]
> >
> > However, that led to a mysterious error message:
> >
> >    \$Aborted is not a Graphics primitive or directive.
> >
> > (Perhaps because of an incompatibility of a Prolog with cartesian
> > coordinates inside a polar coordinate plot??)
> >
>
> --
> Murray Eisenberg                     murray at math.umass.edu
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower      phone 413 549-1020 (H)
> University of Massachusetts                413 545-2859 (W)
> 710 North Pleasant Street            fax   413 545-1801
> Amherst, MA 01003-9305
>

```

• Prev by Date: Re: sum over i+j+k==n
• Next by Date: Re: Re: how fill PolarPlot?
• Previous by thread: Re: how fill PolarPlot?
• Next by thread: Re: Re: how fill PolarPlot?