[yt-users] saving files with a different resolution

Luigi Iapichino luigi at ita.uni-heidelberg.de
Wed Mar 31 09:52:14 PDT 2010


Hi Matt,

your fix works, provided the plot is not smaller than 750x600 and the aspect 
ratio is 1.25:1 (thus allowing space for the colorbar). For smaller plots the 
label of the colorbar (whose font size does not scale) will go out of the 
figure. This is not a crucial issue to be fixed: I will simply stay above 
this threshold.
Thanks for your help,

  Luigi

On Wednesday 31 March 2010, Matthew Turk wrote:
> Hi Luigi,
>
> I think I have tracked it down.  The issue only shows up when the
> aspect ratio of the axes object -- the image itself -- is not 1.0.
> What seems to have happened is that there is confusion in the contour
> callback object (as well as the grid boundary callback, so I would be
> unsurprised if you saw these same issues there) as to which axis is x
> and which is y.  I believe this is my fault, dating back quite some
> time -- fortunately, as you point out, it's very obvious (and should
> result in broken contours at the edges.)
>
> What tipped me off to this was your statement about the figure sizes
> -- this shouldn't be directly used, but instead only used indirectly
> via seeing how big (canvas-space) the axes object is inside the
> contouring code.  Running with a fig_size like (20,16) that ensures
> aspect ratio of 1.0 in the axes object (allowing 20% for colorbar on
> the figure itself) worked, so that theory started to pan out.  I have
> tested with fig_size = (12,9) as well, and this fix works.
>
> If you could try changing lines 153 and 154 of yt/raven/Callbacks.py
> to be "dy =" and "dx =" instead of "dx =" and "dy =" that would be a
> great help.  If that works for you, I'll commit it to the repository.
>
> Thanks very much for this report, and I hope this works out.
>
> -Matt
>
> On Wed, Mar 31, 2010 at 1:53 AM, Luigi Iapichino
>
> <luigi at ita.uni-heidelberg.de> wrote:
> > Hi Matt,
> >
> > both methods work, but I have a further problem: if I try to add density
> > contours, they appear in the plot, but they are not superimposed at the
> > correct location. They look like shifted, and I suppose that
> >
> > p.modify["contour"]("Density", ncont=5,take_log=True)
> >
> > does not "see" that I changed the size of the figure.
> > Am I missing something?
> > Thanks,
> >
> >  Luigi
> >
> > On Tuesday 30 March 2010, Matthew Turk wrote:
> >> Hi Luigi,
> >>
> >> Yup, you'll just need to provide it with a new "figure".  In
> >> matplotlib, figures are the background - the entire image, if you will
> >> - and "axes" are individual plot elements on that.  Here we're going
> >> to create a figure with 100 dpi that's 12 inches by 9 inches -- this
> >> should be 1200 by 900 pixels:
> >>
> >> fig = raven.matplotlib.figure.Figure(dpi = 100, figsize = (12, 9))
> >> p = pc.add_projection("Temperature", 0, weight_field="Density")
> >>
> >> That's the slightly harder way -- you'll have to generate a new Figure
> >> object for every plot.  There's a shortcut in yt already, though, that
> >> accepts a figsize=(width, height) argument, where width and height are
> >> in inches:
> >>
> >> p = pc.add_projection("Temperature", 0, weight_field="Density",
> >> fig_size=(20, 16))
> >>
> >> if you wanted 2000 by 1600 pixels.
> >>
> >> Does that help out?
> >>
> >> Best,
> >>
> >> Matt
> >>
> >> On Tue, Mar 30, 2010 at 7:47 AM, Luigi Iapichino
> >>
> >> <luigi at ita.uni-heidelberg.de> wrote:
> >> > Dear all,
> >> >
> >> > in one of my scripts I have something like this:
> >> >
> >> >    pc = PlotCollection(pf, center=[0.5,0.5,0.5])
> >> >
> >> >    p = pc.add_projection("Temperature", 0, weight_field="Density")
> >> >    p.modify["contour"]("Density", ncont=5, take_log=True)
> >> >    ...
> >> >    ...
> >> >    ...
> >> >    pc.save("%s_temp-proj" % pf,override=True)
> >> >
> >> > The saved file has a resolution of 800x800. Is there a way to change
> >> > this number in YT? I had a look in the PlotCollection class, but I
> >> > haven't found what I'm searching.
> >> >
> >> > Looking forward to your suggestions,
> >> > Cheers
> >> >
> >> >  Luigi
> >> >
> >> > --
> >> >
> >> > ---------------------------------------------------------------
> >> >
> >> > Luigi Iapichino
> >> > Zentrum fuer Astronomie der Universitaet Heidelberg
> >> > Institut fuer Theoretische Astrophysik
> >> > Albert-Ueberle-Str. 2, D-69120 Heidelberg, Germany
> >> > Tel: +49 6221 548983, Fax: +49 6221 544221
> >> > e-mail: luigi at ita.uni-heidelberg.de
> >> > URL: http://www.ita.uni-heidelberg.de/~luigi/
> >> > _______________________________________________
> >> > yt-users mailing list
> >> > yt-users at lists.spacepope.org
> >> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >>
> >> _______________________________________________
> >> yt-users mailing list
> >> yt-users at lists.spacepope.org
> >> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >
> > --
> >
> > ---------------------------------------------------------------
> >
> > Luigi Iapichino
> > Zentrum fuer Astronomie der Universitaet Heidelberg
> > Institut fuer Theoretische Astrophysik
> > Albert-Ueberle-Str. 2, D-69120 Heidelberg, Germany
> > Tel: +49 6221 548983, Fax: +49 6221 544221
> > e-mail: luigi at ita.uni-heidelberg.de
> > URL: http://www.ita.uni-heidelberg.de/~luigi/
> > _______________________________________________
> > yt-users mailing list
> > yt-users at lists.spacepope.org
> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org



-- 

---------------------------------------------------------------

Luigi Iapichino
Zentrum fuer Astronomie der Universitaet Heidelberg
Institut fuer Theoretische Astrophysik
Albert-Ueberle-Str. 2, D-69120 Heidelberg, Germany
Tel: +49 6221 548983, Fax: +49 6221 544221
e-mail: luigi at ita.uni-heidelberg.de
URL: http://www.ita.uni-heidelberg.de/~luigi/



More information about the yt-users mailing list