Skip to content

Commit

Permalink
some kind of quantity bug with matplotlib
Browse files Browse the repository at this point in the history
  • Loading branch information
profxj committed Apr 14, 2017
1 parent 5b229bf commit cd8dc3f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
4 changes: 4 additions & 0 deletions linetools/guis/line_widgets.py
Expand Up @@ -126,6 +126,10 @@ def on_list_change(self,curr,prev):
self.spec_widg.on_draw()
except AttributeError:
return
except TypeError:
QtCore.pyqtRemoveInputHook()
pdb.set_trace()
QtCore.pyqtRestoreInputHook()

def setz(self, text):
self.zbox.setText(text)
Expand Down
26 changes: 12 additions & 14 deletions linetools/guis/spec_widgets.py
Expand Up @@ -534,10 +534,9 @@ def on_draw(self, replot=True, no_draw=False):

if replot is True:
self.ax.clear()
self.ax.plot(self.spec.wavelength, self.spec.flux,
'k-',drawstyle='steps-mid')
self.ax.plot(self.spec.wavelength.value, self.spec.flux.value, 'k-',drawstyle='steps-mid')
try:
self.ax.plot(self.spec.wavelength, self.spec.sig, 'r:')
self.ax.plot(self.spec.wavelength.value, self.spec.sig.value, 'r:')
except ValueError:
pass
self.ax.set_xlabel('Wavelength (Ang)')
Expand All @@ -561,15 +560,15 @@ def tick_function(z, X):

# Continuum?
if self.spec.co_is_set:
self.ax.plot(self.spec.wavelength, self.spec.co, color='pink')
self.ax.plot(self.spec.wavelength.value, self.spec.co.value, color='pink')

# Model?
if self.model is not None:
self.ax.plot(self.model.wavelength, self.model.flux,
self.ax.plot(self.model.wavelength.value, self.model.flux.value,
color='cyan')
if self.bad_model is not None:
self.ax.scatter(self.model.wavelength[self.bad_model],
self.model.flux[self.bad_model], marker='o',
self.ax.scatter(self.model.wavelength[self.bad_model].value,
self.model.flux[self.bad_model].value, marker='o',
color='red', s=3.)


Expand All @@ -582,7 +581,7 @@ def tick_function(z, X):
(wvobs < self.psdict['x_minmax'][1]))[0]
for kk in range(len(gdwv)):
jj = gdwv[kk]
wrest = self.llist[self.llist['List']].wrest[jj]
wrest = self.llist[self.llist['List']].wrest[jj].value
lbl = self.llist[self.llist['List']].name[jj]
# Plot
self.ax.plot(wrest*np.array([z+1,z+1]), self.psdict['y_minmax'], 'b--')
Expand Down Expand Up @@ -611,8 +610,8 @@ def tick_function(z, X):
# Paint spectrum red
wvlim = wvobs[jj]*(1 + lines[jj].limits.vlim/const.c.to('km/s'))
pix = np.where( (self.spec.wavelength > wvlim[0]) & (self.spec.wavelength < wvlim[1]))[0]
self.ax.plot(self.spec.wavelength[pix], self.spec.flux[pix], '-',drawstyle='steps-mid',
color=clrs[ii])
self.ax.plot(self.spec.wavelength[pix].value, self.spec.flux[pix].value,
'-',drawstyle='steps-mid', color=clrs[ii])
# Label
lbl = lines[jj].analy['name']+' z={:g}'.format(abs_sys.zabs)
self.ax.text(wvobs[jj].value, ylbl, lbl, color=clrs[ii], rotation=90., size='x-small')
Expand All @@ -628,7 +627,7 @@ def tick_function(z, X):
model = self.lya_line.flux
if self.spec.co_is_set and not self.norm:
model *= self.spec.co
self.ax.plot(self.spec.wavelength, model, color='green')
self.ax.plot(self.spec.wavelength.value, model.value, color='green')

# Reset window limits
self.ax.set_xlim(self.psdict['x_minmax'])
Expand Down Expand Up @@ -1054,7 +1053,7 @@ def on_draw(self, replot=True, in_wrest=None, rescale=True, fig_clear=False):
velo = (self.spec.wavelength/wvobs - 1.)*const.c.to('km/s')

# Plot
self.ax.plot(velo, self.spec.flux, 'k-',drawstyle='steps-mid')
self.ax.plot(velo.value, self.spec.flux.value, 'k-',drawstyle='steps-mid')

# GID for referencing
self.ax.set_gid(wrest)
Expand Down Expand Up @@ -1155,8 +1154,7 @@ def on_draw(self, replot=True, in_wrest=None, rescale=True, fig_clear=False):
clr = 'red'

pix = np.where( (velo > vlim[0]) & (velo < vlim[1]))[0]
self.ax.plot(velo[pix], self.spec.flux[pix], '-',
drawstyle='steps-mid', color=clr)
self.ax.plot(velo[pix].value, self.spec.flux[pix].value, '-', drawstyle='steps-mid', color=clr)
# Draw
self.canvas.draw()

Expand Down

0 comments on commit cd8dc3f

Please sign in to comment.