diff --git a/fsl/fslview/views/histogrampanel.py b/fsl/fslview/views/histogrampanel.py index cfcf7c99832ad3dd07def383af1ce0b66eb03034..6bdc467dc4f323c66bf726562b154e5d8815ee50 100644 --- a/fsl/fslview/views/histogrampanel.py +++ b/fsl/fslview/views/histogrampanel.py @@ -130,15 +130,16 @@ class HistogramSeries(plotpanel.DataSeries): finData = data[np.isfinite(data)] dmin = finData.min() dmax = finData.max() + dist = (dmax - dmin) / 10000.0 nzData = finData[finData != 0] nzmin = nzData.min() nzmax = nzData.max() self.dataRange.xmin = dmin - self.dataRange.xmax = dmax + self.dataRange.xmax = dmax + dist self.dataRange.xlo = nzmin - self.dataRange.xhi = nzmax + self.dataRange.xhi = nzmax + dist self.nbins = autoBin(nzData, self.dataRange.x) @@ -185,9 +186,9 @@ class HistogramSeries(plotpanel.DataSeries): nzData = self.nonZeroData self.clippedFiniteData = finData[(finData >= self.dataRange.xlo) & - (finData <= self.dataRange.xhi)] + (finData < self.dataRange.xhi)] self.clippedNonZeroData = nzData[ (nzData >= self.dataRange.xlo) & - (nzData <= self.dataRange.xhi)] + (nzData < self.dataRange.xhi)] if callHistPropsChanged: self.histPropsChanged() @@ -308,6 +309,10 @@ class HistogramSeries(plotpanel.DataSeries): def getData(self): + if len(self.xdata) == 0 or \ + len(self.ydata) == 0: + return self.xdata, self.ydata + # If smoothing is not enabled, we'll # munge the histogram data a bit so # that plt.plot(drawstyle='steps-pre')