Re: Primitive Disk Gradient Fills in Graphics

• To: mathgroup at smc.vnet.net
• Subject: [mg111003] Re: Primitive Disk Gradient Fills in Graphics
• From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
• Date: Fri, 16 Jul 2010 05:18:53 -0400 (EDT)

```Hi all,

just clear the protection attributes of ChartElementData and find out
that

should help.

Cheers
Patrick

On Thu, 2010-07-15 at 03:10 -0400, David Park wrote:
> Well, darn if there isn't a method for doing that within BubbleChart.
> Evaluate
>
> ChartElementData["BubbleChart"]
>
> le,PolyhedronBubble,SphereBubble,SquareWaveBubble,TriangleWaveBubble}
>
> for the various types of bubbles. Then, for example:
>
> BubbleChart[RandomReal[1, {10, 3}],
>  ChartStyle -> "Pastel",
>  ChartElementFunction -> "GradientBubble"]
>
> But how would we obtain different colors for the bubbles, say based on the
> radius? I don't know where we can feed it in.
>
> Instead of starting with high level, "set-piece" plot types, and then trying
> to screw them around with convoluted options, it would be much easier to
> start with primitives and build up the higher level plot types.
>
> Suppose I want a bubble fading from White to a color at the rim, and I want
> different colors depending on the radius of the bubble? Here is an easy way
> to build it up.
>
> Needs["Presentations`Master`"]
>
> First define the primitive.
>
>   "gradientDisk[{xcenter, ycenter}, radius, color] will draw an \
> outlined disk with the color blended from White to full color across \
> SyntaxInformation[
>    gradientDisk] = {"ArgumentsPattern" -> {{_, _}, _, _}};
>  {RegionDraw[(x - xcenter)^2 + (y - ycenter)^2 < radius^2, {x,
>     xcenter - radius, xcenter + radius}, {y, ycenter - radius,
>     ycenter + radius},
>    ColorFunctionScaling -> False,
>    ColorFunction ->
>     Function[{x, y},
>      Blend[{White, color},
>       Rescale[Sqrt[(x - xcenter)^2 + (y - ycenter)^2], {0, radius}]]]],
>   AbsoluteThickness[1],
>   Circle[{xcenter, ycenter}, radius]}
>
> Adapt it to the WRI form of Bubble data with a particular color selection
> for the bubbles.
>
> myBubble[{x_, y_, r_}] :=
>  gradientDisk[{x, y}, r, ColorData["SolarColors"][Rescale[r, {0, 2}]]]
>
> Then draw the bubble chart.
>
> data = Array[{RandomReal[{-10, 10}], RandomReal[{-10, 10}],
>      RandomReal[{0.1, 2}]} &, 20];
> Draw2D[
>  {myBubble /@ data},
>  Frame -> True,
>  ImageMargins -> 5,
>  PlotRange -> 12
>  ]
>
> Also, since WRI must have defined a primitive for SquareWaveBubble, say, how
> could we obtain direct access to it? (I know how to program one but since
> WRI has done, and buried, the work how about getting it out?)
>
>
> David Park
> djmpark at comcast.net
> http://home.comcast.net/~djmpark/
>
>
>
>
>
> From: M.Roellig [mailto:markus.roellig at googlemail.com]
>
> On 13 Jul., 11:28, Murta <rodrigomur... at gmail.com> wrote:
> > Hello All
> >
> >    There is really no way to do a simple gradient fill inside a disk
> > in Mathematica?
> >    I'm working in a BubbleChart, and would like to make a graphics
> > disk using ChartElements, going to color x to transparent using
> > opacity.
> >    I get surprised to see that there is no way to work with gradient
> > fill inside primitives like Disk.. there is really this?
> >    If it's true, please, correct it in Mathematica 8!...
>
> Hi,
>
> I agree, GradientFill would be nice, as well as TextureFill or any filling
> with arbitrary patterns. Until then you can try to construct it by yourself:
>
>  Graphics[Table[{Hue[r], Circle[{0, 0}, r]}, {r, 0, 1, 0.001}]] ;
> BubbleChart[RandomReal[1, {10, 3}], ChartElements -> {GradientDisk[]}]
>
> or
>
>  Graphics[Table[{GrayLevel[r], Circle[{0, 0}, r]}, {r, 0, 1,
>     0.001}]];
> BubbleChart[RandomReal[1, {10, 3}],
>  ChartElements -> {BWGradientDisk[]}]
>
> This takes quite some time, since many Circles are drawn. If somebody knows
> how to rasterize a circly without getting square image borders, one
> could use the rasterized image as Element. Maybe exporting to gif
> with transparent white background works.
>
> Of course, the same excercise also works with Rectangles etc..
>
>
> Cheers,
>
> Markus
>
>
>

```

• Prev by Date: Re: Fast pricer for American options
• Next by Date: Re: how to display the value of w after using do?
• Previous by thread: Re: Primitive Disk Gradient Fills in Graphics
• Next by thread: Re: Primitive Disk Gradient Fills in Graphics