乳胶和Matplotlib

时间:2017-02-07 16:14:57

标签: python matplotlib plot latex anaconda

我使用matplotlib在Python中生成图表(通过Jupyter笔记本,使用anaconda安装的所有内容)并且想使用latex。请在下面找到代码和错误。

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.pyplot import *

# setting up plot params
font = {'family':'Arial','size':40}
mpl.rc('font',**font) 
mpl.rc('legend',**{'fontsize':40})
mpl.rc('text',usetex=True)

mpl.rcParams['text.latex.preamble'] = [r'\boldmath']
mpl.rcParams['text.latex.unicode'] = True
mpl.rcParams['text.usetex'] = True 

mpl.rcParams['axes.linewidth'] = 2.75
mpl.rcParams['figure.figsize'] = (20.0,15.0)
mpl.rcParams['savefig.bbox'] = 'tight'

plt.figure()
fig, ax = plt.subplots()
lws = 5 
x = np.linspace(-6.28,6.28,100)
ax.plot(x,np.sin(x),'-',lw=lws,c='r')
plt.legend(loc=1,fontsize=30)
plt.tick_params(axis='x', which='major', pad=10)
plt.savefig('a.png')
plt.show()

这给出了以下错误(我估计主要使用Latex),

         ---------------------------------------------------------------------------
         RuntimeError                              Traceback (most recent call last)
         <ipython-input-45-85e3ff3aacbc> in <module>()
               6 plt.legend(loc=1,fontsize=30)
               7 plt.tick_params(axis='x', which='major', pad=10)
         ----> 8 plt.savefig('a.png')
               9 plt.show()

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/pyplot.pyc in savefig(*args, **kwargs)
             686 def savefig(*args, **kwargs):
             687     fig = gcf()
         --> 688     res = fig.savefig(*args, **kwargs)
             689     fig.canvas.draw_idle()   # need this if 'transparent=True' to reset colors
             690     return res

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/figure.pyc in savefig(self, *args, **kwargs)
            1563             self.set_frameon(frameon)
            1564 
         -> 1565         self.canvas.print_figure(*args, **kwargs)
            1566 
            1567         if frameon:

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
            2178                     orientation=orientation,
            2179                     dryrun=True,
         -> 2180                     **kwargs)
            2181                 renderer = self.figure._cachedRenderer
            2182                 bbox_inches = self.figure.get_tightbbox(renderer)

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
             525 
             526     def print_png(self, filename_or_obj, *args, **kwargs):
         --> 527         FigureCanvasAgg.draw(self)
             528         renderer = self.get_renderer()
             529         original_dpi = renderer.dpi

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
             472 
             473         try:
         --> 474             self.figure.draw(self.renderer)
             475         finally:
             476             RendererAgg.lock.release()

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
            1157         dsu.sort(key=itemgetter(0))
            1158         for zorder, a, func, args in dsu:
         -> 1159             func(*args)
            1160 
            1161         renderer.close_group('figure')

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
            2322 
            2323         for zorder, a in dsu:
         -> 2324             a.draw(renderer)
            2325 
            2326         renderer.close_group('axes')

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
            1106         ticks_to_draw = self._update_ticks(renderer)
            1107         ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,
         -> 1108                                                                 renderer)
            1109 
            1110         for tick in ticks_to_draw:

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axis.pyc in _get_tick_bboxes(self, ticks, renderer)
            1056         for tick in ticks:
            1057             if tick.label1On and tick.label1.get_visible():
         -> 1058                 extent = tick.label1.get_window_extent(renderer)
            1059                 ticklabelBoxes.append(extent)
            1060             if tick.label2On and tick.label2.get_visible():

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/text.pyc in get_window_extent(self, renderer, dpi)
             959             raise RuntimeError('Cannot get window extent w/o renderer')
             960 
         --> 961         bbox, info, descent = self._get_layout(self._renderer)
             962         x, y = self.get_unitless_position()
             963         x, y = self.get_transform().transform_point((x, y))

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self, renderer)
             350         tmp, lp_h, lp_bl = renderer.get_text_width_height_descent('lp',
             351                                                          self._fontproperties,
         --> 352                                                          ismath=False)
             353         offsety = (lp_h - lp_bl) * self._linespacing
             354 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in get_text_width_height_descent(self, s, prop, ismath)
             227             fontsize = prop.get_size_in_points()
             228             w, h, d = texmanager.get_text_width_height_descent(s, fontsize,
         --> 229                                                                renderer=self)
             230             return w, h, d
             231 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/texmanager.pyc in get_text_width_height_descent(self, tex, fontsize, renderer)
             673         else:
             674             # use dviread. It sometimes returns a wrong descent.
         --> 675             dvifile = self.make_dvi(tex, fontsize)
             676             dvi = dviread.Dvi(dvifile, 72 * dpi_fraction)
             677             try:

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/texmanager.pyc in make_dvi(self, tex, fontsize)
             420                      'string:\n%s\nHere is the full report generated by '
             421                      'LaTeX: \n\n' % repr(tex.encode('unicode_escape')) +
         --> 422                      report))
             423             else:
             424                 mpl.verbose.report(report, 'debug')

         RuntimeError: LaTeX was not able to process the following string:
         'lp'
         Here is the full report generated by LaTeX: 

         No latex error report available.

         <matplotlib.figure.Figure at 0x7f8e49a49b10>

         ---------------------------------------------------------------------------
         RuntimeError                              Traceback (most recent call last)
         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
             305                 pass
             306             else:
         --> 307                 return printer(obj)
             308             # Finally look for special method names
             309             method = get_real_method(obj, self.print_method)

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
             225 
             226     if 'png' in formats:
         --> 227         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
             228     if 'retina' in formats or 'png2x' in formats:
             229         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
             117 
             118     bytes_io = BytesIO()
         --> 119     fig.canvas.print_figure(bytes_io, **kw)
             120     data = bytes_io.getvalue()
             121     if fmt == 'svg':

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
            2178                     orientation=orientation,
            2179                     dryrun=True,
         -> 2180                     **kwargs)
            2181                 renderer = self.figure._cachedRenderer
            2182                 bbox_inches = self.figure.get_tightbbox(renderer)

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
             525 
             526     def print_png(self, filename_or_obj, *args, **kwargs):
         --> 527         FigureCanvasAgg.draw(self)
             528         renderer = self.get_renderer()
             529         original_dpi = renderer.dpi

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in draw(self)
             472 
             473         try:
         --> 474             self.figure.draw(self.renderer)
             475         finally:
             476             RendererAgg.lock.release()

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
            1157         dsu.sort(key=itemgetter(0))
            1158         for zorder, a, func, args in dsu:
         -> 1159             func(*args)
            1160 
            1161         renderer.close_group('figure')

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
            2322 
            2323         for zorder, a in dsu:
         -> 2324             a.draw(renderer)
            2325 
            2326         renderer.close_group('axes')

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
              59     def draw_wrapper(artist, renderer, *args, **kwargs):
              60         before(artist, renderer)
         ---> 61         draw(artist, renderer, *args, **kwargs)
              62         after(artist, renderer)
              63 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
            1106         ticks_to_draw = self._update_ticks(renderer)
            1107         ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,
         -> 1108                                                                 renderer)
            1109 
            1110         for tick in ticks_to_draw:

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/axis.pyc in _get_tick_bboxes(self, ticks, renderer)
            1056         for tick in ticks:
            1057             if tick.label1On and tick.label1.get_visible():
         -> 1058                 extent = tick.label1.get_window_extent(renderer)
            1059                 ticklabelBoxes.append(extent)
            1060             if tick.label2On and tick.label2.get_visible():

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/text.pyc in get_window_extent(self, renderer, dpi)
             959             raise RuntimeError('Cannot get window extent w/o renderer')
             960 
         --> 961         bbox, info, descent = self._get_layout(self._renderer)
             962         x, y = self.get_unitless_position()
             963         x, y = self.get_transform().transform_point((x, y))

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self, renderer)
             350         tmp, lp_h, lp_bl = renderer.get_text_width_height_descent('lp',
             351                                                          self._fontproperties,
         --> 352                                                          ismath=False)
             353         offsety = (lp_h - lp_bl) * self._linespacing
             354 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in get_text_width_height_descent(self, s, prop, ismath)
             227             fontsize = prop.get_size_in_points()
             228             w, h, d = texmanager.get_text_width_height_descent(s, fontsize,
         --> 229                                                                renderer=self)
             230             return w, h, d
             231 

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/texmanager.pyc in get_text_width_height_descent(self, tex, fontsize, renderer)
             673         else:
             674             # use dviread. It sometimes returns a wrong descent.
         --> 675             dvifile = self.make_dvi(tex, fontsize)
             676             dvi = dviread.Dvi(dvifile, 72 * dpi_fraction)
             677             try:

         /data/b4004487/libs/anaconda2/lib/python2.7/site-packages/matplotlib/texmanager.pyc in make_dvi(self, tex, fontsize)
             420                      'string:\n%s\nHere is the full report generated by '
             421                      'LaTeX: \n\n' % repr(tex.encode('unicode_escape')) +
         --> 422                      report))
             423             else:
             424                 mpl.verbose.report(report, 'debug')

         RuntimeError: LaTeX was not able to process the following string:
         'lp'
         Here is the full report generated by LaTeX: 

         No latex error report available.

            <matplotlib.figure.Figure at 0x7f8e4a38c190>

0 个答案:

没有答案