Closed henrikef closed 4 years ago
spectral_plot crashes for some older versions of matplotlib (I'm using 2.1.1) as it cannot deal with non-numerical x values. See error message below.
spectral_plot
This pull request fixes that issue by providing numerical values to plot, and later setting the tick labels to the bin names.
Tests pass (1 xfail) on my laptop.
test_complete_analysis.py:49: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/hawc_hal/HAL.py:407: in display_spectrum return self._plot_spectrum(net_counts, yerr, model_only, residuals, residuals_err) ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/hawc_hal/HAL.py:415: in _plot_spectrum color='black', label='Net counts', fmt='.') ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/matplotlib/__init__.py:1898: in inner return func(ax, *args, **kwargs) ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/matplotlib/axes/_axes.py:3030: in errorbar barcols.append(self.vlines(xo, lo, uo, **eb_lines_style)) ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/matplotlib/__init__.py:1898: in inner return func(ax, *args, **kwargs) ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/matplotlib/axes/_axes.py:1072: in vlines minx = x.min() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array(['1', '2', '3', '4', '5', '6', '7', '8', '9'], dtype='|S1'), axis = None, out = None, keepdims = False, initial = <no value> def _amin(a, axis=None, out=None, keepdims=False, initial=_NoValue): > return umr_minimum(a, axis, None, out, keepdims, initial) E TypeError: cannot perform reduce with flexible type ../../../miniconda3/envs/st_test3/lib/python2.7/site-packages/numpy/core/_methods.py:32: TypeError
I don't think this is necessary anymore. Is anyone still using matplotlib 2.1.1? If so, we can revisit this.
spectral_plot
crashes for some older versions of matplotlib (I'm using 2.1.1) as it cannot deal with non-numerical x values. See error message below.This pull request fixes that issue by providing numerical values to plot, and later setting the tick labels to the bin names.
Tests pass (1 xfail) on my laptop.