diff --git a/meteoinfo-geometry/src/main/java/org/meteoinfo/geometry/graphic/Line2DGraphic.java b/meteoinfo-geometry/src/main/java/org/meteoinfo/geometry/graphic/Line2DGraphic.java index 378ff89a..a937cd55 100644 --- a/meteoinfo-geometry/src/main/java/org/meteoinfo/geometry/graphic/Line2DGraphic.java +++ b/meteoinfo-geometry/src/main/java/org/meteoinfo/geometry/graphic/Line2DGraphic.java @@ -76,7 +76,7 @@ public class Line2DGraphic extends Graphic { IndexIterator xIter = this.xData.getIndexIterator(); IndexIterator yIter = this.yData.getIndexIterator(); double x, y; - while (xIter.hasNext()) { + while (xIter.hasNext() && yIter.hasNext()) { x = xIter.getDoubleNext(); y = yIter.getDoubleNext(); if (Double.isNaN(x) || Double.isNaN(y)) { diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml index 1c42fb8c..76a9e7c7 100644 --- a/meteoinfo-lab/milconfig.xml +++ b/meteoinfo-lab/milconfig.xml @@ -1,32 +1,32 @@ - - - - - + - - + + + + + + - - + + - - + + @@ -34,5 +34,5 @@
- + diff --git a/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py b/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py index 837e7f2e..7b97d5e0 100644 --- a/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py +++ b/meteoinfo-lab/pylib/mipylib/numeric/core/_ndarray.py @@ -1285,24 +1285,38 @@ class NDArray(object): """ self.flat[:] = value - def flatten(self): + def flatten(self, order='C'): """ Return a copy of the array collapsed into one dimension. + :param order: (*str*) Optional. ['C' | 'F'], ‘C’ means to flatten in row-major (C-style) order. + ‘F’ means to flatten in column-major (Fortran- style) order. The default is ‘C’. + :returns: (*NDArray*) A copy of the input array, flattened to one dimension. """ shape = [self.size] - r = NDArray(self._array.reshape(shape)) + if order.upper() == 'C': + r = NDArray(self._array.reshape(shape)) + else: + r = self.swapaxes(-1, -2) + r = NDArray(r._array.reshape(shape)) return r - def ravel(self): + def ravel(self, order='C'): """ Return a contiguous flattened array. + :param order: (*str*) Optional. ['C' | 'F'], ‘C’ means to flatten in row-major (C-style) order. + ‘F’ means to flatten in column-major (Fortran- style) order. The default is ‘C’. + :returns: (*NDArray*) A contiguous flattened array. """ shape = [self.size] - r = NDArray(self._array.reshapeNoCopy(shape)) + if order.upper() == 'C': + r = NDArray(self._array.reshapeNoCopy(shape)) + else: + r = self.swapaxes(-1, -2) + r = NDArray(r._array.reshape(shape)) return r def repeat(self, repeats, axis=None): diff --git a/meteoinfo-lab/pylib/mipylib/plotlib/graphic/lines.py b/meteoinfo-lab/pylib/mipylib/plotlib/graphic/lines.py index ea7b1751..1712ecde 100644 --- a/meteoinfo-lab/pylib/mipylib/plotlib/graphic/lines.py +++ b/meteoinfo-lab/pylib/mipylib/plotlib/graphic/lines.py @@ -68,6 +68,7 @@ class Line2D(Line2DGraphic, Artist): :param xdata: (*array*) The xdata. """ + xdata = np.asarray(xdata) self._x = xdata self.setXData(xdata._array) self.stale = True @@ -88,6 +89,7 @@ class Line2D(Line2DGraphic, Artist): :param ydata: (*array*) The ydata. """ + ydata = np.asarray(ydata) self._y = ydata self.setYData(ydata._array) self.stale = True @@ -125,6 +127,8 @@ class Line2D(Line2DGraphic, Artist): xdata = args[0] ydata = args[1] + xdata = np.asarray(xdata) + ydata = np.asarray(ydata) self._x = xdata self._y = ydata self.setData(xdata._array, ydata._array)