From 2562e30b3d9b12e7a19be012a1cd5183ff89f3bc Mon Sep 17 00:00:00 2001 From: Andrew Dawson Date: Thu, 27 Jun 2013 19:28:14 +0100 Subject: [PATCH] Allow 1D plots to have the coordinate on the y-axis. --- CHANGES | 14 ++++++++ docs/iris/src/whatsnew/1.5.rst | 30 ++++++++++++++++++ lib/iris/plot.py | 11 +++++++ lib/iris/quickplot.py | 20 ++++++++---- ...1dPlotTranspose.test_transpose_false.0.png | Bin 0 -> 31494 bytes ...t1dPlotTranspose.test_transpose_true.0.png | Bin 0 -> 33790 bytes lib/iris/tests/test_plot.py | 18 +++++++++++ 7 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 docs/iris/src/whatsnew/1.5.rst create mode 100644 lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_false.0.png create mode 100644 lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_true.0.png diff --git a/CHANGES b/CHANGES index 98e42a5cd5..20060876ba 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,17 @@ +Release 1.5 (unreleased) +======================== + + +Features added +-------------- +* A new transpose keyword argument for `iris.plot.plot` and `iris.quickplot.plot` + allows the coordinate of a 1d plot to be presented on the y-axis with the data + values on the x-axis. + + +---------------------------- + + Release 1.4 (unreleased) ======================== diff --git a/docs/iris/src/whatsnew/1.5.rst b/docs/iris/src/whatsnew/1.5.rst new file mode 100644 index 0000000000..0007480be3 --- /dev/null +++ b/docs/iris/src/whatsnew/1.5.rst @@ -0,0 +1,30 @@ +What's new in Iris 1.5 +********************** + +:Release: 1.5.0 +:Date: unreleased + +This document explains the new/changed features of Iris in version 1.5. + +Iris 1.5 features +================= + +A summary of the main features added with version 1.5: + +* A new transpose keyword argument for :func:`iris.plot.plot` and + :func:`iris.quickplot.plot` allows the coordinate of a 1d plot to be + presented on the y-axis with the data values on the x-axis. + +Bugs fixed +---------- +* N/A + +Incompatible changes +-------------------- +* N/A + +Deprecations +------------ +* N/A + + diff --git a/lib/iris/plot.py b/lib/iris/plot.py index ed002a3e58..173fd9b0b6 100644 --- a/lib/iris/plot.py +++ b/lib/iris/plot.py @@ -328,6 +328,11 @@ def _draw_1d_from_points(draw_method_name, arg_func, cube, *args, **kwargs): else: u = np.arange(data.shape[0]) + # get & remove the transpose entry from kwargs + transpose = kwargs.pop('transpose', False) + if transpose: + u, data = data, u + draw_method = getattr(plt, draw_method_name) if arg_func is not None: args, kwargs = arg_func(u, data, *args, **kwargs) @@ -718,6 +723,12 @@ def plot(cube, *args, **kwargs): element is the horizontal axis of the plot and the second element is the vertical axis of the plot. + * transpose: True or False + If False the plot will have the coordinate on the x-axis and the data + values on the y-axis. If True the plot axes will be transposed with the + coordinate on the y-axis and the data values on the x-axis. This is + suitable for vertical profile type plots. Defaults to False. + See :func:`matplotlib.pyplot.plot` for details of other valid keyword arguments. diff --git a/lib/iris/quickplot.py b/lib/iris/quickplot.py index b3b75b5f2d..3948b6ccf8 100644 --- a/lib/iris/quickplot.py +++ b/lib/iris/quickplot.py @@ -52,7 +52,7 @@ def _title(cube_or_coord, with_units): return title -def _label(cube, mode, result=None, ndims=2, coords=None): +def _label(cube, mode, result=None, ndims=2, coords=None, transpose1d=False): """Puts labels on the current plot using the given cube.""" plt.title(_title(cube, with_units=False)) @@ -82,8 +82,14 @@ def _label(cube, mode, result=None, ndims=2, coords=None): plt.ylabel(_title(plot_defn.coords[0], with_units=True)) plt.xlabel(_title(plot_defn.coords[1], with_units=True)) elif ndims == 1: - plt.xlabel(_title(plot_defn.coords[0], with_units=True)) - plt.ylabel(_title(cube, with_units=True)) + cube_title = _title(cube, with_units=True) + coord_title = _title(plot_defn.coords[0], with_units=True) + if transpose1d: + plt.xlabel(cube_title) + plt.ylabel(coord_title) + else: + plt.xlabel(coord_title) + plt.ylabel(cube_title) else: raise ValueError('Unexpected number of dimensions (%s) given to _label.' % ndims) @@ -92,8 +98,9 @@ def _label_with_bounds(cube, result=None, ndims=2, coords=None): _label(cube, iris.coords.BOUND_MODE, result, ndims, coords) -def _label_with_points(cube, result=None, ndims=2, coords=None): - _label(cube, iris.coords.POINT_MODE, result, ndims, coords) +def _label_with_points(cube, result=None, ndims=2, coords=None, + transpose1d=False): + _label(cube, iris.coords.POINT_MODE, result, ndims, coords, transpose1d) def contour(cube, *args, **kwargs): @@ -200,6 +207,7 @@ def plot(cube, *args, **kwargs): """ coords = kwargs.get('coords') + transpose = kwargs.get('transpose', False) result = iplt.plot(cube, *args, **kwargs) - _label_with_points(cube, ndims=1, coords=coords) + _label_with_points(cube, ndims=1, coords=coords, transpose1d=transpose) return result diff --git a/lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_false.0.png b/lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_false.0.png new file mode 100644 index 0000000000000000000000000000000000000000..63c0ce28a6cc3f377f791de04a916d383b4720b2 GIT binary patch literal 31494 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 Ld<%Qifz$s1YQ$WK literal 0 HcmV?d00001 diff --git a/lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_true.0.png b/lib/iris/tests/results/visual_tests/test_plot.Test1dPlotTranspose.test_transpose_true.0.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3f0189c17064fb6ad1f26346f83b9e0f1b6031 GIT binary patch literal 33790 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 z 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 b=c7`+A{mjhGZ&+92`c$BN-{C0wOsxe&KLOR literal 0 HcmV?d00001 diff --git a/lib/iris/tests/test_plot.py b/lib/iris/tests/test_plot.py index b6dbcae988..8080789a84 100644 --- a/lib/iris/tests/test_plot.py +++ b/lib/iris/tests/test_plot.py @@ -139,6 +139,24 @@ def test_orography(self): self.check_graphic() +@iris.tests.skip_data +class Test1dPlotTranspose(tests.GraphicsTest): + + def setUp(self): + path = tests.get_data_path(('NetCDF', 'ORCA2', 'votemper.nc')) + self.cube = iris.load_cube(path)[0, :, 60, 80] + + def test_transpose_true(self): + # put the coordinate on the y-axis + qplt.plot(self.cube, transpose=True) + self.check_graphic() + + def test_transpose_false(self): + # put the coordinate on the x-axis (normal behaviour) + qplt.plot(self.cube, transpose=False) + self.check_graphic() + + # Caches _load_4d_testcube so subsequent calls are faster def cache(fn, cache={}): def inner(*args, **kwargs):