MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to extract ImageSize?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112842] Re: How to extract ImageSize?
  • From: "István Zachar" <replicatorzed at gmail.com>
  • Date: Sun, 3 Oct 2010 03:37:47 -0400 (EDT)
  • References: <14523943.21633.1286013656382.JavaMail.root@m06> <001e01cb6246$7aaa3940$6ffeabc0$@net>

  Dear David,

thanks for the answer. Yes, ImageSize is the option I want to deal with.
My problem is that I programmatically want to place self-made
controls onto the axes of plots. I cannot include the full code here,
as it involves multiple packages. A toy model is presented below:

Consider, you have a more advanced slider you want to position
(invisibly) over the full range of the x axis, to be able to easily
change the plot range by directly draggin the x axis with your
mouse. The red frame represents the dragger control below:

p = Plot[Sin[x], {x, -2, 2}, ImageSize -> Medium];

Show[p, Epilog ->
   Inset[Framed[{}, FrameStyle -> Red, ImageSize -> {359, 10}],
    Scaled@{0, .5}, {Left, Center}]]

Now how can I set the ImageSize of Framed, or the size
of the inset directly to be the value of the full horizontal
size of the image?

Istvan



On 2010.10.02. 17:28, David Park wrote:
> p = Plot[Sin[x], {x, -2, 2}];
>
> ImageSize is not an explicit option in p.
>
> Part[p, 2]
>
> {AspectRatio ->  1/GoldenRatio, Axes ->  True, AxesOrigin ->  {0, 0},
>   PlotRange ->  {{-2, 2}, {-1., 1.}}, PlotRangeClipping ->  True,
>   PlotRangePadding ->  {Scaled[0.02], Scaled[0.02]}}
>
> So it takes on its default value, which is Automatic and you can't extract
> it from p.
>
> But if you wrap the actual plot output as:
>
> ImageSize /. AbsoluteOptions[plot output]
>
> and adjust the output size by dragging a handle, and then evaluate, you will
> obtain a value for the option.
>
> {342.692, Automatic}
>
> (Are you sure you don't mean PlotRange?)
>
>
> David Park
> djmpark at comcast.net
> http://home.comcast.net/~djmpark/
>
>
> From: István Zachar [mailto:zac at freemail.hu]
>
> Dear Group,
>
> is there any way to extract the exact numerical values of ImageSize
> from a plot, if no explicit value was supplied by the user?
>
> In[53]:= ImageSize /. Options@Plot
>
> Out[53]= Automatic
>
> In[54]:= p = Plot[Sin[x], {x, -2, 2}];
> ImageSize /. AbsoluteOptions@p
>
> Out[55]= Automatic
>
> In[56]:= p = Plot[Sin[x], {x, -2, 2}, ImageSize ->  Small];
> ImageSize /. AbsoluteOptions@p
>
> Out[57]= Small
>
>
>
> Istvan
>
>
>


  • Prev by Date: Mathematica crash when exporting to HTML? is it me?
  • Next by Date: Re: Help for solving this Integrate[Sqrt[t*(1-t)* (t-z),{t,0,z} ] NEW!!!!
  • Previous by thread: Re: How to extract ImageSize?
  • Next by thread: Re: Help for solving this Integrate[Sqrt[t*(1-t)*