Re: without individual scaling?

*To*: mathgroup at smc.vnet.net*Subject*: [mg124423] Re: without individual scaling?*From*: "Scot T. Martin" <smartin at seas.harvard.edu>*Date*: Thu, 19 Jan 2012 05:10:59 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <201201162204.RAA15204@smc.vnet.net>

David, "displays the circles (at the correct sizes) side-by-side with a fixed gap" I am not sure I understand 100% what you're after, but is it this? showObj[z_] := Graphics[{Circle[{z, z}, z]}] objs = showObj /@ Range[5]; SetOptions[Graphics, PlotRange -> {{-11, 11}, {-11, 11}}, Frame -> True]; Grid[{objs}] Or maybe this? showObj[z_] := Inset[Graphics[{Circle[{z, z}, z]}], {z, z}, {0, 0}, {z, z}] objs = showObj /@ Range[5]; Graphics[objs, Frame -> True, PlotRange -> {{-10, 10}, {-10, 10}}] (This second example can be cleaned up greatly by re-doing showObj in a way that takes better use of Inset[..], but nevertheless this example is illustrative.) -Scot ________________________________________ From: David Bevan [david.bevan at pb.com] Sent: Wednesday, January 18, 2012 07:06 To: Scot T. Martin; mathgroup at smc.vnet.net Subject: [mg124423] Re: without individual scaling? Scot, Thanks for your suggestion. So how would I use Grid[], Show[], Inset[] and Scaled[] to implement myShow[] which simply displays the circles (at the correct sizes) side-by-side with a fixed gap? showObj[z_]:=Graphics[{Circle[{z,z},z]}] objs=showObj/@Range[5]; Show[objs] myShow[objs] David %^> -----Original Message----- From: Scot T. Martin [mailto:smartin at seas.harvard.edu] Sent: 17 January 2012 08:22 To: mathgroup at smc.vnet.net Subject: [mg124423] Re: without individual scaling? My favorite commands for doing the kinds of things you want: Grid[....] (instead of GraphicsRow, GraphicsGrid, which seem to do funny things for me) Show[...] with Inset[...] as needed using Scaled[...] for coordinates. When you make your Plots/Graphics, make good use of ImagePadding option (i. e., fixed to same value for everything) so that your axes all line up nicely. ________________________________________ From: David Bevan [david.bevan at pb.com] Sent: Monday, January 16, 2012 17:04 To: mathgroup at smc.vnet.net Subject: [mg124423] Re: without individual scaling? Hi! Since asking this question I have discovered GraphicsRow[]. What I need is some way of doing GraphicsRow[objs] but without each graphics getting scaled individually. Equivalently, I need is some way of doing Show[objs] but with the graphics in a row, not overlaid. Clearly, Mathematica has the information to do this. Is there no way for a user to access this information? Thanks. David %^> ________________________________________ From: David Bevan [david.bevan at pb.com] Sent: 10 January 2012 10:57 To: mathgroup at smc.vnet.net Subject: [mg124423] Graphics bounding box in source coordinates? Is there some way of getting the bounding box of Graphics in the source coordinate system? For example, Show can be used to display an array of objects on top of each other: showObj[z_]:=Graphics[{Circle[{z,z},z]}] objs=showObj/@Range[5]; Show[objs] But I want to display them side by side. The following can be used to offset each object by a fixed interval: graphicsArray[g_,x_]:=Graphics[MapIndexed[Translate[#1,{x (First[#2]-1),0}]&,First/@g]] graphicsArray[objs,5] But I would like the gaps between each object to be of fixed size. So I want a version of graphicsArray which determines the value to pass to Translate by getting the bounding box info from each Graphic. Rasterize[,"BoundingBox"] doesn't help because it returns the size in pixels after scaling: Rasterize[#,"BoundingBox"]&/@objs {{360,359,182},{360,359,182},{360,359,182},{360,359,182},{360,359,182}} My real objects are more complex than these simple circles (and I want something reusable with different objects). Thanks for your help (and apologies if I missed something obvious in the documentation). David %^>

**References**:**Re: without individual scaling?***From:*David Bevan <david.bevan@pb.com>