diff --git a/PyLoT.py b/PyLoT.py index 9f5ed406..519bdedb 100755 --- a/PyLoT.py +++ b/PyLoT.py @@ -2153,10 +2153,11 @@ class MainWindow(QMainWindow): self.wf_scroll_area.setVisible(len(plots) > 0) self.no_data_label.setVisible(not len(plots) > 0) for times, data, times_syn, data_syn in plots: - self.dataPlot.plotWidget.getPlotItem().plot(times, data, - pen=self.dataPlot.pen_linecolor) + self.dataPlot.plotWidget.getPlotItem().plot(np.array(times), np.array(data), + pen=self.dataPlot.pen_linecolor, + skipFiniteCheck=True) if len(data_syn) > 0: - self.dataPlot.plotWidget.getPlotItem().plot(times_syn, data_syn, + self.dataPlot.plotWidget.getPlotItem().plot(np.array(times_syn), np.array(data_syn), pen=self.dataPlot.pen_linecolor_syn) self.dataPlot.reinitMoveProxy() self.highlight_stations() @@ -3096,7 +3097,7 @@ class MainWindow(QMainWindow): if self.pg: if spe: - if picks['epp'] and picks['lpp']: + if not self.plot_method == 'fast' and picks['epp'] and picks['lpp']: pen = make_pen(picktype, phaseID, 'epp', quality) self.drawnPicks[picktype][station].append(pw.plot([epp, epp], ylims, alpha=.25, pen=pen, name='EPP')) diff --git a/pylot/core/util/gui.py b/pylot/core/util/gui.py index 14530b41..ded59ace 100644 --- a/pylot/core/util/gui.py +++ b/pylot/core/util/gui.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import os +from functools import lru_cache try: import pyqtgraph as pg @@ -25,14 +26,14 @@ def pick_linestyle_pg(picktype, key): :return: Qt line style parameters :rtype: """ - linestyles_manu = {'mpp': (QtCore.Qt.SolidLine, 2.), - 'epp': (QtCore.Qt.DashLine, 1.), - 'lpp': (QtCore.Qt.DashLine, 1.), - 'spe': (QtCore.Qt.DashLine, 1.)} - linestyles_auto = {'mpp': (QtCore.Qt.DotLine, 2.), - 'epp': (QtCore.Qt.DashDotLine, 1.), - 'lpp': (QtCore.Qt.DashDotLine, 1.), - 'spe': (QtCore.Qt.DashDotLine, 1.)} + linestyles_manu = {'mpp': (QtCore.Qt.SolidLine, 2), + 'epp': (QtCore.Qt.DashLine, 1), + 'lpp': (QtCore.Qt.DashLine, 1), + 'spe': (QtCore.Qt.DashLine, 1)} + linestyles_auto = {'mpp': (QtCore.Qt.DotLine, 2), + 'epp': (QtCore.Qt.DashDotLine, 1), + 'lpp': (QtCore.Qt.DashDotLine, 1), + 'spe': (QtCore.Qt.DashDotLine, 1)} linestyles = {'manual': linestyles_manu, 'auto': linestyles_auto} return linestyles[picktype][key] @@ -80,6 +81,7 @@ def which(program, parameter): return None +@lru_cache(maxsize=128) def make_pen(picktype, phase, key, quality): """ Make PyQtGraph.QPen