Re: Primitive Disk Gradient Fills in Graphics
- To: mathgroup at smc.vnet.net
- Subject: [mg110984] Re: Primitive Disk Gradient Fills in Graphics
- From: "David Park" <djmpark at comcast.net>
- Date: Fri, 16 Jul 2010 05:15:24 -0400 (EDT)
Many thanks for that Patrick. I don't think one has to Unprotect ChartElementData. At least, I had no problem. Here is an example of getting out these primitives and using them in your own custom plot. The possible types of primitives for BubbleChart: ChartElementData["BubbleChart"] {"Bubble", "FadingBubble", "GradientBubble", "MarkerBubble", \ "NoiseBubble", "OscillatingBubble", "PolyhedronBubble", \ "SphereBubble", "SquareWaveBubble", "TriangleWaveBubble"} Examine one of these with Manipulate. ChartElementData["SquareWaveBubble", "Manipulate"] Insert a specific case to see the form of the function. ChartElementDataFunction["SquareWaveBubble", "AngularFrequency" -> 20, "RadialAmplitude" -> 0.1`] Now design a custom primitive. This one specifies the location, size and color for a SquareWaveBubble. The RadialAmplitude varies with the size. (Look up ChartElementFunction for more details.) myBubble[x_, y_, size_, color_] := {color, ChartElementDataFunction["SquareWaveBubble", "AngularFrequency" -> 20, "RadialAmplitude" :> Rescale[size, {.2, 3}, {1, 0}]][{{x - size/2, x + size/2}, {y - size/2, y + size/2}}, {x, y}]} Here is some data and a plot done outside of BubbleChart. data = Table[{RandomReal[{-10, 10}], RandomReal[{-10, 10}], s = RandomReal[{.2, 3}], ColorData["DarkRainbow"][Rescale[s, {.2, 3}]]}, {i, 15}]; Graphics[ {myBubble @@@ data}, AspectRatio -> Automatic, Frame -> True, PlotRange -> 13] However, this does depend on having an Automatic AspectRatio. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Patrick Scheibe [mailto:pscheibe at trm.uni-leipzig.de] Hi all, just clear the protection attributes of ChartElementData and find out that ChartElementData["GradientBubble", "Manipulate"] should help. Cheers Patrick On Thu, 2010-07-15 at 03:10 -0400, David Park wrote: > > 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/ >