diff --git a/examples/units/annotate_with_units.py b/examples/units/annotate_with_units.py index cd4e47ddaf12..255777422975 100644 --- a/examples/units/annotate_with_units.py +++ b/examples/units/annotate_with_units.py @@ -12,7 +12,10 @@ """ import matplotlib.pyplot as plt -from basic_units import cm +from basic_units import register_units, cm + + +register_units() fig, ax = plt.subplots() diff --git a/examples/units/artist_tests.py b/examples/units/artist_tests.py index 0b078ce5cb6f..f4e564857c76 100644 --- a/examples/units/artist_tests.py +++ b/examples/units/artist_tests.py @@ -20,10 +20,13 @@ import matplotlib.text as text import matplotlib.collections as collections -from basic_units import cm, inch +from basic_units import register_units, cm, inch import numpy as np import matplotlib.pyplot as plt + +register_units() + fig, ax = plt.subplots() ax.xaxis.set_units(cm) ax.yaxis.set_units(cm) diff --git a/examples/units/bar_demo2.py b/examples/units/bar_demo2.py index d18f81b77535..b2d47b541fb3 100644 --- a/examples/units/bar_demo2.py +++ b/examples/units/bar_demo2.py @@ -14,9 +14,12 @@ This example requires :download:`basic_units.py ` """ import numpy as np -from basic_units import cm, inch +from basic_units import register_units, cm, inch import matplotlib.pyplot as plt + +register_units() + cms = cm * np.arange(0, 10, 2) bottom = 0 * cm width = 0.8 * cm diff --git a/examples/units/bar_unit_demo.py b/examples/units/bar_unit_demo.py index 7b24a453154d..c73c3d73ba36 100644 --- a/examples/units/bar_unit_demo.py +++ b/examples/units/bar_unit_demo.py @@ -13,10 +13,12 @@ """ import numpy as np -from basic_units import cm, inch +from basic_units import register_units, cm, inch import matplotlib.pyplot as plt +register_units() + N = 5 men_means = [150*cm, 160*cm, 146*cm, 172*cm, 155*cm] men_std = [20*cm, 30*cm, 32*cm, 10*cm, 20*cm] diff --git a/examples/units/basic_units.py b/examples/units/basic_units.py index 3b4f13313f50..65d3488bf183 100644 --- a/examples/units/basic_units.py +++ b/examples/units/basic_units.py @@ -380,4 +380,17 @@ def cos(x): return math.cos(x.convert_to(radians).get_value()) -units.registry[BasicUnit] = units.registry[TaggedValue] = BasicUnitConverter() +def register_units(): + """ + Explicitly register units provided here. + + Normally, this will not be needed as units are registered on import. + However, if you reset the Matplotlib unit registry (as is done by + sphinx-gallery between running each example), then you will need to + explicitly re-register units from this module by calling this function. + """ + converter = BasicUnitConverter() + units.registry[BasicUnit] = units.registry[TaggedValue] = converter + + +register_units() diff --git a/examples/units/ellipse_with_units.py b/examples/units/ellipse_with_units.py index 369ad5cf4e68..7869d66b0853 100644 --- a/examples/units/ellipse_with_units.py +++ b/examples/units/ellipse_with_units.py @@ -10,12 +10,14 @@ This example requires :download:`basic_units.py ` """ -from basic_units import cm +from basic_units import register_units, cm import numpy as np from matplotlib import patches import matplotlib.pyplot as plt +register_units() + xcenter, ycenter = 0.38*cm, 0.52*cm width, height = 1e-1*cm, 3e-1*cm angle = -30 diff --git a/examples/units/radian_demo.py b/examples/units/radian_demo.py index f9da342defcd..37f78fd603d1 100644 --- a/examples/units/radian_demo.py +++ b/examples/units/radian_demo.py @@ -17,7 +17,10 @@ import matplotlib.pyplot as plt import numpy as np -from basic_units import radians, degrees, cos +from basic_units import register_units, radians, degrees, cos + + +register_units() x = [val*radians for val in np.arange(0, 15, 0.01)] diff --git a/examples/units/units_sample.py b/examples/units/units_sample.py index 81547601e711..9540cce881b7 100644 --- a/examples/units/units_sample.py +++ b/examples/units/units_sample.py @@ -13,10 +13,13 @@ This example requires :download:`basic_units.py ` """ -from basic_units import cm, inch +from basic_units import register_units, cm, inch import matplotlib.pyplot as plt import numpy as np + +register_units() + cms = cm * np.arange(0, 10, 2) fig, axs = plt.subplots(2, 2, constrained_layout=True) diff --git a/examples/units/units_scatter.py b/examples/units/units_scatter.py index 8a121b4afd0f..1e74dd6b11b3 100644 --- a/examples/units/units_scatter.py +++ b/examples/units/units_scatter.py @@ -12,7 +12,10 @@ """ import numpy as np import matplotlib.pyplot as plt -from basic_units import secs, hertz, minutes +from basic_units import register_units, secs, hertz, minutes + + +register_units() # create masked array data = (1, 2, 3, 4, 5, 6, 7, 8)