Argg, attached a wrong patch. This one should work # set the paper size to the figure size if isEPSF. The # resulting ps file has the given size with correct bounding # box so that there is no need to call 'pstoeps' if isEPSF: paperWidth, paperHeight = self.figure.get_size_inches() + if isLandscape: + paperWidth, paperHeight = paperHeight, paperWidth else: temp_papertype = _get_papertype(width, height) if papertype=='auto':
On Wed, Apr 29, 2009 at 5:55 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote: > Thanks Darren, > > I believe that my patch only affects eps output with usetex=True, > i.e., only those "tex_*.eps" files are affected. > > I found that my previous patch didn't treated the orientation of the > paper correctly. > So the bounding box of all the landscape eps outputs are incorrect. > This can be easily fixed. > > Index: lib/matplotlib/backends/backend_ps.py > =================================================================== > --- lib/matplotlib/backends/backend_ps.py (revision 7071) > +++ lib/matplotlib/backends/backend_ps.py (working copy) > @@ -1100,8 +1100,11 @@ > # set the paper size to the figure size if isEPSF. The > # resulting ps file has the given size with correct bounding > # box so that there is no need to call 'pstoeps' > paperWidth, paperHeight = self.figure.get_size_inches() > + if isLandscape: > + paperWidth, paperHeight = paperHeight, paperWidth > else: > temp_papertype = _get_papertype(width, height) > if papertype=='auto': > > > > > Anyhow, after the landscape fix, all eps output looks fine to me. > Can you check this? > > Regards, > > -JJ > > > > On Wed, Apr 29, 2009 at 3:55 PM, Darren Dale <dsdal...@gmail.com> wrote: >> Hi Jae-Joon, >> >> On Tue, Apr 28, 2009 at 3:49 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote: >>> >>> This patch is now committed to the trunk (r7068). >> >> I think these changes have had unintended consequences. I attached a test >> file I used to inspect the results when I wrote the original code that you >> recently tried to improve. There are lots of combinations of large and small >> figures, with usetex and without, and with no distiller, gs distiller, of >> xpdf (pdftops) distiller. You have to visually inspect all of the ps/eps >> files that are generated. At one time, all of these files looked acceptable, >> but that was a couple years ago and I don't remember what version of >> ghostscript I was using at the time (I'm sure there is a record of it >> somewhere on this mailing list). WIth r7067, most of the files look fine, a >> few of the large files (large paper sizes) have problems. With r7068, quite >> a few examples have problems. >> >> Darren >> >> >>> >>> On Sat, Apr 25, 2009 at 8:29 AM, Ken Schutte <kts.li...@gmail.com> wrote: >>> > Yeah, that seems to work! thanks a lot, >>> > Ken >>> > >>> > On Fri, Apr 24, 2009 at 5:21 PM, Jae-Joon Lee <lee.j.j...@gmail.com> >>> > wrote: >>> >> ps backend, when usetex=True, uses latex with psfrag package to >>> >> generate the output (with some extra steps). >>> >> It seems that the bounding box information is not correctly recovered >>> >> during this process. >>> >> I first thought that it would be quite difficult to get this correct, >>> >> however the attached (relatively simple) patch seems to work fine. >>> >> >>> >> Ken, can you try the patch and see if it works? >>> >> >>> >> -JJ >>> >> >>> >> >>> >> >>> >> >>> >> On Thu, Apr 23, 2009 at 2:25 PM, Ken Schutte <kts.li...@gmail.com> >>> >> wrote: >>> >>> I've been trying to track down some strange behavior I was getting, >>> >>> and I think narrowed it down to some code that I'll paste below. >>> >>> >>> >>> I'm trying to write to .eps files, and when I have usetex=True, >>> >>> something is screwed up with the padding on the left, and eventually >>> >>> the whole image is just white. >>> >>> >>> >>> If I run this script, the 'testA-*.eps' look good, but 'testB-*' does >>> >>> not. The same problem happens even if I remove the ticklabels. >>> >>> >>> >>> Any tips would be appreciated. >>> >>> thanks, >>> >>> Ken >>> >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------ >>> >>> import matplotlib.pyplot as plt >>> >>> import numpy as np >>> >>> from matplotlib import rc >>> >>> >>> >>> fig = plt.figure() >>> >>> ax = fig.add_axes([0,0,1,1],frameon=False) >>> >>> >>> >>> X = np.tile(np.arange(500),(10,1)) # (10,500) shape >>> >>> >>> >>> ax.imshow(X,interpolation='nearest',aspect='auto') >>> >>> >>> >>> def go(name): >>> >>> >>> >>> for d in (1,2,3,4): >>> >>> >>> >>> w = d*5 >>> >>> h = d >>> >>> >>> >>> fig.set_size_inches(w,h) >>> >>> fig.savefig("%s-%d.eps" % (name,d)) >>> >>> >>> >>> rc('text', usetex=False) >>> >>> go("testA") >>> >>> >>> >>> rc('text', usetex=True) >>> >>> go("testB") >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Crystal Reports - New Free Runtime and 30 Day Trial >>> >>> Check out the new simplified licensign option that enables unlimited >>> >>> royalty-free distribution of the report engine for externally >>> >>> facing >>> >>> server and web deployment. >>> >>> http://p.sf.net/sfu/businessobjects >>> >>> _______________________________________________ >>> >>> Matplotlib-devel mailing list >>> >>> Matplotlib-devel@lists.sourceforge.net >>> >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>> >>> >>> >> >>> > >>> >>> >>> ------------------------------------------------------------------------------ >> >> >> >>> >>> Register Now & Save for Velocity, the Web Performance & Operations >>> Conference from O'Reilly Media. Velocity features a full day of >>> expert-led, hands-on workshops and two days of sessions from industry >>> leaders in dedicated Performance & Operations tracks. Use code vel09scf >>> and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Matplotlib-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel