8000 Add fontprop parameter to anchored_artists.AnchoredSizeBar · matplotlib/matplotlib@a693d00 · GitHub
[go: up one dir, main page]

Skip to content

Commit a693d00

Browse files
magnunorpelson
authored andcommitted
Add fontprop parameter to anchored_artists.AnchoredSizeBar
Removed the old fontsize parameter. And fix: some typos in the example in the docstring
1 parent cf9cd63 commit a693d00

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

lib/mpl_toolkits/axes_grid1/anchored_artists.py

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ class AnchoredSizeBar(AnchoredOffsetbox):
7171
def __init__(self, transform, size, label, loc,
7272
pad=0.1, borderpad=0.1, sep=2, prop=None,
7373
frameon=True, size_vertical=0, color='black',
74-
label_top=False, fontsize=12,
74+
label_top=False, fontprops=None,
7575
**kwargs):
7676
"""
77-
Draw a horizontal bar with the size in data coordinate of the give axes.
77+
Draw a horizontal bar with the size in data coordinate of the given axes.
7878
A label will be drawn underneath (center-aligned).
7979
8080
Parameters:
@@ -98,29 +98,44 @@ def __init__(self, transform, size, label, loc,
9898
color for the size bar and label
9999
label_top : bool, optional
100100
if True, the label will be over the rectangle
101-
fontsize : int, optional
102-
sets the fontsize for the label
101+
fontprops: a matplotlib.font_manager.FontProperties instance, optional
102+
sets the font properties for the label text
103+
104+
Returns:
105+
--------
106+
AnchoredSizeBar object
103107
104108
Example:
105109
--------
106-
>>>> import matplotlib.pyplot as plt
107-
>>>> import numpy as np
108-
>>>> from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
109-
>>>> fig, ax = plt.subplots()
110-
>>>> ax = imshow(np.random.random((10,10)))
111-
>>>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', pad=0.5, loc=4, sep=5, borderpad=0.5, frameon=False, size_vertical=0.5, color='white', fontsize=20)
112-
>>>> ax.add_artist(bar)
113-
>>>> fig.show()
110+
>>> import matplotlib.pyplot as plt
111+
>>> import numpy as np
112+
>>> from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
113+
>>> fig, ax = plt.subplots()
114+
>>> ax.imshow(np.random.random((10,10)))
115+
>>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', 4)
116+
>>> ax.add_artist(bar)
117+
>>> fig.show()
118+
119+
Using all the optional parameters
120+
121+
>>> import matplotlib.font_manager as fm
122+
>>> fontprops = fm.FontProperties(size=14, family='monospace')
123+
>>> bar = AnchoredSizeBar(ax.transData, 3, '3 units', 4, pad=0.5, sep=5, borderpad=0.5, frameon=False, size_vertical=0.5, color='white', fontprops=fontprops)
114124
115125
"""
116126

117127
self.size_bar = AuxTransformBox(transform)
118128
self.size_bar.add_artist(Rectangle((0,0), size, size_vertical, fill=True, facecolor=color, edgecolor=color))
119129

130+
if not fontprops:
131+
textprops = {'color': color}
132+
else:
133+
textprops = {'color': color, 'fontproperties': fontprops}
134+
120135
self.txt_label = TextArea(
121136
label,
122137
minimumdescent=False,
123-
textprops=dict(color=color, fontsize=fontsize))
138+
textprops=textprops)
124139

125140
if label_top:
126141
_box_children = [self.txt_label, self.size_bar]

0 commit comments

Comments
 (0)
0