我使用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()
---------------------------------------------------------------------------
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>