-------- Original-Nachricht -------- > Datum: Mon, 16 May 2011 11:36:18 -0500 > Von: Benjamin Root <ben.r...@ou.edu> > An: Johannes Radinger <jradin...@gmx.at> > CC: matplotlib-users@lists.sourceforge.net > Betreff: Re: [Matplotlib-users] use matplotlib to produce mathathematical > expression only
> On Mon, May 16, 2011 at 11:22 AM, Johannes Radinger > <jradin...@gmx.at>wrote: > > > > > -------- Original-Nachricht -------- > > > Datum: Mon, 16 May 2011 10:59:34 -0500 > > > Von: Benjamin Root <ben.r...@ou.edu> > > > An: Johannes Radinger <jradin...@gmx.at> > > > CC: matplotlib-users@lists.sourceforge.net > > > Betreff: Re: [Matplotlib-users] use matplotlib to produce > mathathematical > > expression only > > > > > On Mon, May 16, 2011 at 10:21 AM, Johannes Radinger > > > <jradin...@gmx.at>wrote: > > > > > > > > > > > -------- Original-Nachricht -------- > > > > > Datum: Mon, 16 May 2011 09:49:24 -0500 > > > > > Von: Benjamin Root <ben.r...@ou.edu> > > > > > An: "matplotlib-users@lists.sourceforge.net" < > > > > matplotlib-users@lists.sourceforge.net> > > > > > Betreff: Re: [Matplotlib-users] [SciPy-User] use matplotlib to > > produce > > > > mathathematical expression only > > > > > > > > > On Monday, May 16, 2011, Johannes Radinger <jradin...@gmx.at> > wrote: > > > > > > > > > > > > -------- Original-Nachricht -------- > > > > > >> Datum: Mon, 16 May 2011 08:28:49 -0500 > > > > > >> Von: Robert Kern <robert.k...@gmail.com> > > > > > >> An: SciPy Users List <scipy-u...@scipy.org> > > > > > >> CC: matplotlib-users@lists.sourceforge.net > > > > > >> Betreff: Re: [Matplotlib-users] [SciPy-User] use matplotlib to > > > produce > > > > > mathathematical expression only > > > > > > > > > > > >> On Mon, May 16, 2011 at 08:21, Johannes Radinger < > > jradin...@gmx.at> > > > > > wrote: > > > > > >> > Hello, > > > > > >> > > > > > > >> > I want to produce a eps file of following mathematical > > > expression: > > > > > >> > > > > > > >> > > > > > > > > > > > > > > > r'$F(x)=p*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}+(1-p)*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}$' > > > > > >> > > > > > > >> > is it possible to somehow missuse matplotlib for that to > produce > > > > only > > > > > >> the function without any other plot things? Or is there a > better > > > > python > > > > > >> library within scipy? I don't want to install the complete > latex > > > > > libraries just > > > > > >> for producing this single eps file. > > > > > >> > > > > > >> Check out mathtex. It is matplotlib's TeX parsing engine and > > > renderer > > > > > >> broken out into a separate library: > > > > > >> > > > > > >> http://code.google.com/p/mathtex/ > > > > > > > > > > > > I also thought about mathtex but don't know how to use my > > > mathematical > > > > > expression without a plot of axis etc. any suggestions? I just > want > > to > > > > have > > > > > the formated math expression as eps and I don't know how to do it, > > > still > > > > > after reading in the matplotlib-manual. > > > > > > > > > > > > /johannes > > > > > > > > > > > > > > > > > >> > > > > > >> Also, please send matplotlib questions just to the matplotlib > > list. > > > > > >> Thanks. > > > > > >> > > > > > >> -- > > > > > >> Robert Kern > > > > > >> > > > > > >> "I have come to believe that the whole world is an enigma, a > > > harmless > > > > > >> enigma that is made terrible by our own mad attempt to > interpret > > it > > > as > > > > > >> though it had an underlying truth." > > > > > >> -- Umberto Eco > > > > > >> > > > > > >> > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > >> Achieve unprecedented app performance and reliability > > > > > >> What every C/C++ and Fortran developer should know. > > > > > >> Learn how Intel has extended the reach of its next-generation > > tools > > > > > >> to help boost performance applications - inlcuding clusters. > > > > > >> http://p.sf.net/sfu/intel-dev2devmay > > > > > >> _______________________________________________ > > > > > >> Matplotlib-users mailing list > > > > > >> Matplotlib-users@lists.sourceforge.net > > > > > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > > > > > > > -- > > > > > > NEU: FreePhone - kostenlos mobil telefonieren und surfen! > > > > > > Jetzt informieren: http://www.gmx.net/de/go/freephone > > > > > > _______________________________________________ > > > > > > SciPy-User mailing list > > > > > > scipy-u...@scipy.org > > > > > > http://mail.scipy.org/mailman/listinfo/scipy-user > > > > > > > > > > > > > > > > We have added a new feature to do just that in the development > > branch, > > > > > but it should be fairly trivial to do with existing releases of > > > > > matplotlib. Just create a figure object and use its figtitle to > hold > > > > > the expression and then save the figure. > > > > > > > > It might be trivial but how to remove the axis/plot then and crop > the > > > > extend of the eps? > > > > > > > > I tried: > > > > > > > > plt.figure() > > > > > > > > > > plt.title(r'$F(x)=p*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}+(1-p)*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}$', > > > > fontsize=20) > > > > plt.show() > > > > > > > > /j > > > > > > > > > > > Use figtext instead. I did the following and it looked fine to me: > > > > > > plt.figure() > > > plt.figtext(0.1, 0.5, > > > > > > r'$F(x)=p*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}+(1-p)*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}$', > > > fontsize=20) > > > plt.show() > > > > > > > > > thats working nearly perfect, I would just need to crop the display > extend > > resp. the white space from the eps around...any option/idea? > > > > > > /j > > > > > Try setting bbox_inches='tight' in the call to savefig. With > bbox_inches='tight', you can then specify the 'pad_inches' kwarg to > indicate > how much padding to put around the tight bounding box. This should work, > however some older version of matplotlib might not check the figure text > objects for calculating the tightest bounding box. Hej, I tried your suggestion like: plt.figure() plt.figtext(0.01, 0.5,r'$F(x)=p*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}+(1-p)*\frac{1}{s1\sqrt{2\pi}}*e^{-\frac{1}{2}*(\frac{x-m}{s1})}$', fontsize=26) #plt.show() plt.savefig("testplot.eps", bbox_inches='tight') but get following error: plt.savefig("testplot.eps", bbox_inches='tight') File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/pyplot.py", line 363, in savefig return fig.savefig(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/figure.py", line 1084, in savefig self.canvas.print_figure(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backend_bases.py", line 1891, in print_figure bbox_inches = self.figure.get_tightbbox(renderer) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/figure.py", line 1212, in get_tightbbox _bbox = Bbox.union([b for b in bb if b.width!=0 or b.height!=0]) File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/transforms.py", line 675, in union assert(len(bboxes)) AssertionError For your information: I work with python 2.6.6 and matplotlib 1.0.1 on Mac OS X 10.6.6 /j In that case, the way > that I typically autocrop my eps files is to convert it into a pdf file > and > use pdfcrop and then convert it back to eps (assuming you have a standard > linux install). Here is the chain of commands I typically use on my > Fedora > machine: > > epstopdf mathtext.eps --outfile=mathtext.temp.pdf > pdfcrop --margins '15 2 15 2' --clip mathtext.temp.pdf > mathtext.cropped.pdf > pdftops mathtext.cropped.pdf mathtext.cropped.eps > > You can adjust margins to your tastes, and the names of the files are > fairly > arbitrary. > > I hope that helps! > Ben Root -- NEU: FreePhone - kostenlos mobil telefonieren und surfen! Jetzt informieren: http://www.gmx.net/de/go/freephone ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users