diff --git a/PyLoT.py b/PyLoT.py index 09dfbb90..8d93bc96 100755 --- a/PyLoT.py +++ b/PyLoT.py @@ -3056,7 +3056,7 @@ class MainWindow(QMainWindow): self.init_metadata() if not self.metadata: return - self.array_map = Array_map(self) + self.array_map = Array_map(self, self.metadata) # self.array_map_thread() self.array_layout.addWidget(self.array_map) self.tabs.setCurrentIndex(index) diff --git a/pylot/core/util/array_map.py b/pylot/core/util/array_map.py index 66981839..207d7d03 100644 --- a/pylot/core/util/array_map.py +++ b/pylot/core/util/array_map.py @@ -17,7 +17,7 @@ plt.interactive(False) class Array_map(QtGui.QWidget): - def __init__(self, parent, figure=None, pointsize=30.): + def __init__(self, parent, metadata, figure=None, pointsize=30., width=5e6, height=2e6): ''' Create a map of the array. :param parent: PyLoT Mainwindow class @@ -25,8 +25,10 @@ class Array_map(QtGui.QWidget): ''' QtGui.QWidget.__init__(self) self._parent = parent - self.metadata = parent.metadata + self.metadata = metadata self.pointsize = pointsize + self.width = width + self.height = height self.picks = None self.picks_dict = None self.autopicks_dict = None @@ -39,7 +41,7 @@ class Array_map(QtGui.QWidget): self.init_stations() self.init_basemap(resolution='l') self.init_map() - self._style = parent._style + self._style = None if not hasattr(parent, '_style') else parent._style # self.show() @property @@ -213,6 +215,7 @@ class Array_map(QtGui.QWidget): self.status_label = QtGui.QLabel() self.main_ax = self.figure.add_subplot(111) + self.main_ax.set_facecolor('0.7') self.canvas = PylotCanvas(self.figure, parent=self._parent, multicursor=True, panZoomX=False, panZoomY=False) @@ -313,10 +316,8 @@ class Array_map(QtGui.QWidget): def init_basemap(self, resolution='l'): # basemap = Basemap(projection=projection, resolution = resolution, ax=self.main_ax) - width = 5e6 - height = 2e6 basemap = Basemap(projection='lcc', resolution=resolution, ax=self.main_ax, - width=width, height=height, + width=self.width, height=self.height, lat_0=(self.latmin + self.latmax) / 2., lon_0=(self.lonmin + self.lonmax) / 2.) diff --git a/pylot/core/util/widgets.py b/pylot/core/util/widgets.py index dd866855..3fb7efbe 100644 --- a/pylot/core/util/widgets.py +++ b/pylot/core/util/widgets.py @@ -981,7 +981,12 @@ class PylotCanvas(FigureCanvas): self.axes = figure.axes self.figure = figure - self.figure.set_facecolor(parent._style['background']['rgba_mpl']) + if hasattr(parent, '_style'): + self.style = parent._style + else: + self.style = None + if self.style: + self.figure.set_facecolor(self.style['background']['rgba_mpl']) # attribute plotdict is a dictionary connecting position and a name self.plotdict = dict() # initialize super class @@ -990,10 +995,11 @@ class PylotCanvas(FigureCanvas): self.orig_parent = parent if multicursor: + color_cursor = (0., 0., 0., 1.) if not self.style else self.style['multicursor']['rgba_mpl'] # add a cursor for station selection self.multiCursor = MultiCursor(self.figure.canvas, self.axes, horizOn=True, useblit=True, - color=parent._style['multicursor']['rgba_mpl'], lw=1) + color=color_cursor, lw=1) # initialize panning attributes self.press = None @@ -1322,8 +1328,7 @@ class PylotCanvas(FigureCanvas): nslc.sort() nslc.reverse() - style = self.orig_parent._style - linecolor = style['linecolor']['rgba_mpl'] + linecolor = (0., 0., 0., 1.) if not self.style else self.style['linecolor']['rgba_mpl'] for n, seed_id in enumerate(nslc): network, station, location, channel = seed_id.split('.')