jbirky / apogee_tools

Modeling tools for SDSS/APOGEE spectra
http://apogee-tools.readthedocs.io/
MIT License
2 stars 3 forks source link

error on data.plot() #22

Open aburgasser opened 6 years ago

aburgasser commented 6 years ago

Got the following error when trying to plot a spectrum:

ap.download('2M00034394+8606422', type='aspcap') data = ap.Spectrum(id='2M00034394+8606422', type='aspcap')

check

data.wave array([15152.21067174, 15152.42000872, 15152.62934858, ..., 16943.06589879, 16943.29997751, 16943.53405947]) data.plot()

error below - it seems there is an issue with running LaTeX, somewhere the string b'lp' is being fed in....?


RuntimeError Traceback (most recent call last)

in () ----> 1 data.plot() /Users/adam/python_codes/apogee_tools/apogee_tools/core.py in plot(self, **kwargs) 369 if title != None: 370 plt.title(title, fontsize=20) --> 371 plt.tight_layout() 372 373 if save == True: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/pyplot.py in tight_layout(pad, h_pad, w_pad, rect) 1385 1386 fig = gcf() -> 1387 fig.tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect) 1388 1389 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/figure.py in tight_layout(self, renderer, pad, h_pad, w_pad, rect) 1750 renderer, 1751 pad=pad, h_pad=h_pad, w_pad=w_pad, -> 1752 rect=rect) 1753 1754 self.subplots_adjust(**kwargs) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/tight_layout.py in get_tight_layout_figure(fig, axes_list, subplotspec_list, renderer, pad, h_pad, w_pad, rect) 347 subplot_list=subplot_list, 348 ax_bbox_list=ax_bbox_list, --> 349 pad=pad, h_pad=h_pad, w_pad=w_pad) 350 351 if rect is not None: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/tight_layout.py in auto_adjust_subplotpars(fig, renderer, nrows_ncols, num1num2_list, subplot_list, ax_bbox_list, pad, h_pad, w_pad, rect) 124 ax_bbox_list, 125 num1num2_list): --> 126 tight_bbox_raw = union([ax.get_tightbbox(renderer) for ax in subplots]) 127 tight_bbox = TransformedBbox(tight_bbox_raw, 128 fig.transFigure.inverted()) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/tight_layout.py in (.0) 124 ax_bbox_list, 125 num1num2_list): --> 126 tight_bbox_raw = union([ax.get_tightbbox(renderer) for ax in subplots]) 127 tight_bbox = TransformedBbox(tight_bbox_raw, 128 fig.transFigure.inverted()) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axes/_base.py in get_tightbbox(self, renderer, call_axes_locator) 3672 bb.append(self._right_title.get_window_extent(renderer)) 3673 -> 3674 bb_xaxis = self.xaxis.get_tightbbox(renderer) 3675 if bb_xaxis: 3676 bb.append(bb_xaxis) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in get_tightbbox(self, renderer) 1075 ticks_to_draw = self._update_ticks(renderer) 1076 ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw, -> 1077 renderer) 1078 1079 self._update_label_position(ticklabelBoxes, ticklabelBoxes2) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in _get_tick_bboxes(self, ticks, renderer) 1058 for tick in ticks: 1059 if tick.label1On and tick.label1.get_visible(): -> 1060 extent = tick.label1.get_window_extent(renderer) 1061 ticklabelBoxes.append(extent) 1062 if tick.label2On and tick.label2.get_visible(): /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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)) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: b'lp' Here is the full report generated by LaTeX: This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./d5924ddf5eca094d188857522ec37f30.tex LaTeX2e <2014/05/01> Babel <3.9k> and hyphenation patterns for 78 languages loaded. ! LaTeX Error: File `article.cls' not found. Type X to quit or to proceed, or enter new name. (Default extension: cls) Enter file name: ! Emergency stop. l.2 \usepackage {type1cm}^^M No pages of output. Transcript written on d5924ddf5eca094d188857522ec37f30.log. Error in callback .post_execute at 0x11cb9c268> (for post_execute): --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/pyplot.py in post_execute() 146 def post_execute(): 147 if matplotlib.is_interactive(): --> 148 draw_all() 149 150 # IPython >= 2 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/_pylab_helpers.py in draw_all(cls, force) 148 for f_mgr in cls.get_all_fig_managers(): 149 if force or f_mgr.canvas.figure.stale: --> 150 f_mgr.canvas.draw_idle() 151 152 atexit.register(Gcf.destroy_all) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backend_bases.py in draw_idle(self, *args, **kwargs) 2024 if not self._is_idle_drawing: 2025 with self._idle_draw_cntx(): -> 2026 self.draw(*args, **kwargs) 2027 2028 def draw_cursor(self, event): /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py in draw(self) 472 473 try: --> 474 self.figure.draw(self.renderer) 475 finally: 476 RendererAgg.lock.release() /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/figure.py 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') /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axes/_base.py in draw(self, renderer, inframe) 2317 2318 for zorder, a in dsu: -> 2319 a.draw(renderer) 2320 2321 renderer.close_group('axes') /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in draw(self, renderer, *args, **kwargs) 1108 ticks_to_draw = self._update_ticks(renderer) 1109 ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw, -> 1110 renderer) 1111 1112 for tick in ticks_to_draw: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in _get_tick_bboxes(self, ticks, renderer) 1058 for tick in ticks: 1059 if tick.label1On and tick.label1.get_visible(): -> 1060 extent = tick.label1.get_window_extent(renderer) 1061 ticklabelBoxes.append(extent) 1062 if tick.label2On and tick.label2.get_visible(): /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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)) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: b'lp' Here is the full report generated by LaTeX: This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./d5924ddf5eca094d188857522ec37f30.tex LaTeX2e <2014/05/01> Babel <3.9k> and hyphenation patterns for 78 languages loaded. ! LaTeX Error: File `article.cls' not found. Type X to quit or to proceed, or enter new name. (Default extension: cls) Enter file name: ! Emergency stop. l.2 \usepackage {type1cm}^^M No pages of output. Transcript written on d5924ddf5eca094d188857522ec37f30.log. --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) /Users/adam/anaconda3/lib/python3.5/site-packages/IPython/core/formatters.py 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) /Users/adam/anaconda3/lib/python3.5/site-packages/IPython/core/pylabtools.py in (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)) /Users/adam/anaconda3/lib/python3.5/site-packages/IPython/core/pylabtools.py 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': /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backend_bases.py 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) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py in draw(self) 472 473 try: --> 474 self.figure.draw(self.renderer) 475 finally: 476 RendererAgg.lock.release() /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/figure.py 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') /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axes/_base.py in draw(self, renderer, inframe) 2317 2318 for zorder, a in dsu: -> 2319 a.draw(renderer) 2320 2321 renderer.close_group('axes') /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/artist.py in draw_wrapper(artist, renderer, *args, **kwargs) 60 def draw_wrapper(artist, renderer, *args, **kwargs): 61 before(artist, renderer) ---> 62 draw(artist, renderer, *args, **kwargs) 63 after(artist, renderer) 64 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in draw(self, renderer, *args, **kwargs) 1108 ticks_to_draw = self._update_ticks(renderer) 1109 ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw, -> 1110 renderer) 1111 1112 for tick in ticks_to_draw: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/axis.py in _get_tick_bboxes(self, ticks, renderer) 1058 for tick in ticks: 1059 if tick.label1On and tick.label1.get_visible(): -> 1060 extent = tick.label1.get_window_extent(renderer) 1061 ticklabelBoxes.append(extent) 1062 if tick.label2On and tick.label2.get_visible(): /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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)) /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/text.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/backends/backend_agg.py 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 /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: /Users/adam/anaconda3/lib/python3.5/site-packages/matplotlib/texmanager.py 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: b'lp' Here is the full report generated by LaTeX: This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./d5924ddf5eca094d188857522ec37f30.tex LaTeX2e <2014/05/01> Babel <3.9k> and hyphenation patterns for 78 languages loaded. ! LaTeX Error: File `article.cls' not found. Type X to quit or to proceed, or enter new name. (Default extension: cls) Enter file name: ! Emergency stop. l.2 \usepackage {type1cm}^^M No pages of output. Transcript written on d5924ddf5eca094d188857522ec37f30.log.
aburgasser commented 6 years ago

FOLLOW UP:

This may be a LateX/Apple version conflict. Current version of MacTeX is for OS 10 and higher, and I'm running OS 9.5. If I set the following command at the top of my code:

from matplotlib import rc rc("text", usetex=False)

everything runs swimmingly.