>>>>> "Vineet" == Vineet Jain <vi...@al...> writes:
Vineet> is there a formula which will always convert a image
Vineet> resolution (x pixels by y pixles) to inches, dpi I'm
Vineet> assuming that there are some contraints to how high and
Vineet> low dpi can go. How and what are those contraints.
There are no formal constraints. If you set the dpi too high you eill
eventually run out of memory. I suppose dpi<1 is undefined :-).
Typical screen dpis are 72 and 96. If you want the screen size the be
accurate in inches, you need to make the dpi setting correspond to the
actual pixels per inch on the monitor. matplotlib does not currently
support different horizontal and vertical dpis (many monitors have
different resolutions in the horizontal and vertical dimensions). It
wouldn't be hard to add, but last time I suggested it on the list
noone was interested.
Here is an example to set the figure size in inches given pixel
dimensions and dpi
from __future__import division # do float division
pixw, pixh = 640, 680
dpi = 96
winch = pixw/dpi # width in inches is pixel width / dpi
hinch = pixh/dpi # height in inches is pixel height / dpi
fig = figure(figsize=(winch, hinch), dpi=dpi)
This is what backend_gtk does after a figure resize - I have to conver
the pixel dimensions to inches.
You can change an existing figure's size, if necessary, with
fig.set_figsize_inches(winch, hinch)
Hope this helps,
JDH
|