From: <lee...@us...> - 2009-04-28 19:48:22
|
Revision: 7068 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7068&view=rev Author: leejjoon Date: 2009-04-28 19:48:18 +0000 (Tue, 28 Apr 2009) Log Message: ----------- Fixed incorrect bbox of eps output when usetex=True Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/lib/matplotlib/backends/backend_ps.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2009-04-27 23:30:20 UTC (rev 7067) +++ trunk/matplotlib/CHANGELOG 2009-04-28 19:48:18 UTC (rev 7068) @@ -1,5 +1,7 @@ ====================================================================== +2009-04-28 Fixed incorrect bbox of eps output when usetex=True. - JJL + 2009-04-24 Changed use of os.open* to instead use subprocess.Popen. os.popen* are deprecated in 2.6 and are removed in 3.0. - RMM Modified: trunk/matplotlib/lib/matplotlib/backends/backend_ps.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2009-04-27 23:30:20 UTC (rev 7067) +++ trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2009-04-28 19:48:18 UTC (rev 7068) @@ -1096,17 +1096,25 @@ isLandscape = True width, height = height, width bbox = (lly, llx, ury, urx) - temp_papertype = _get_papertype(width, height) - if papertype=='auto': - papertype = temp_papertype - paperWidth, paperHeight = papersize[temp_papertype] + + # 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() else: - paperWidth, paperHeight = papersize[papertype] - if (width>paperWidth or height>paperHeight) and isEPSF: + temp_papertype = _get_papertype(width, height) + if papertype=='auto': + papertype = temp_papertype paperWidth, paperHeight = papersize[temp_papertype] - verbose.report('Your figure is too big to fit on %s paper. %s \ -paper will be used to prevent clipping.'%(papertype, temp_papertype), 'helpful') + else: + paperWidth, paperHeight = papersize[papertype] + if (width>paperWidth or height>paperHeight) and isEPSF: + paperWidth, paperHeight = papersize[temp_papertype] + verbose.report('Your figure is too big to fit on %s paper. %s \ + paper will be used to prevent clipping.'%(papertype, temp_papertype), 'helpful') + texmanager = renderer.get_texmanager() font_preamble = texmanager.get_font_preamble() custom_preamble = texmanager.get_custom_preamble() @@ -1247,10 +1255,16 @@ os.remove(outfile) os.remove(tmpfile) shutil.move(psfile, tmpfile) - if eps: - pstoeps(tmpfile, bbox) + + # Since the the paper size is set to the figure size for eps + # output (in '_print_figure_tex'), pstoeps call is not required. + + #if eps: + # pstoeps(tmpfile, bbox) + + def xpdf_distill(tmpfile, eps=False, ptype='letter', bbox=None): """ Use ghostscript's ps2pdf and xpdf's/poppler's pdftops to distill a file. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |