From 3377467310ed61c83ca0485e09ad48c8204c9d0d Mon Sep 17 00:00:00 2001 From: James Evans Date: Wed, 12 Aug 2015 10:47:08 -0700 Subject: [PATCH 1/2] The figure option dialog resets the axes and all unit information. This fixes it so that unit information is not lost. --- .../backends/qt_editor/figureoptions.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/qt_editor/figureoptions.py b/lib/matplotlib/backends/qt_editor/figureoptions.py index bf1ec010c176..bb2e866579f8 100644 --- a/lib/matplotlib/backends/qt_editor/figureoptions.py +++ b/lib/matplotlib/backends/qt_editor/figureoptions.py @@ -63,6 +63,12 @@ def figure_edit(axes, parent=None): ('(Re-)Generate automatic legend', False), ] + # Save the unit data + xconverter = axes.xaxis.converter + yconverter = axes.yaxis.converter + xunits = axes.xaxis.get_units() + yunits = axes.yaxis.get_units() + if has_curve: # Get / Curves linedict = {} @@ -101,7 +107,7 @@ def figure_edit(axes, parent=None): has_curve = bool(curves) datalist = [(general, "Axes", "")] - if has_curve: + if has_curve and curves: datalist.append((curves, "Curves", "")) def apply_callback(data): @@ -122,6 +128,14 @@ def apply_callback(data): axes.set_ylim(ymin, ymax) axes.set_ylabel(ylabel) + # Restore the unit data + axes.xaxis.converter = xconverter + axes.yaxis.converter = yconverter + axes.xaxis.set_units( xunits ) + axes.yaxis.set_units( yunits ) + axes.xaxis._update_axisinfo() + axes.yaxis._update_axisinfo() + if has_curve: # Set / Curves for index, curve in enumerate(curves): From 6bd87dbb504e40ab01c4c14fe237fbf11fd7b266 Mon Sep 17 00:00:00 2001 From: James Evans Date: Mon, 17 Aug 2015 13:03:28 -0700 Subject: [PATCH 2/2] cleaned up spacing. --- lib/matplotlib/backends/qt_editor/figureoptions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/qt_editor/figureoptions.py b/lib/matplotlib/backends/qt_editor/figureoptions.py index bb2e866579f8..b954ab190537 100644 --- a/lib/matplotlib/backends/qt_editor/figureoptions.py +++ b/lib/matplotlib/backends/qt_editor/figureoptions.py @@ -131,8 +131,8 @@ def apply_callback(data): # Restore the unit data axes.xaxis.converter = xconverter axes.yaxis.converter = yconverter - axes.xaxis.set_units( xunits ) - axes.yaxis.set_units( yunits ) + axes.xaxis.set_units(xunits) + axes.yaxis.set_units(yunits) axes.xaxis._update_axisinfo() axes.yaxis._update_axisinfo()