Skip to content

Commit b2e8b93

Browse files
authored
Merge pull request #30347 from anntzer/cleanup
Small cleanups.
2 parents b25ff80 + 8e09edf commit b2e8b93

File tree

4 files changed

+59
-84
lines changed

4 files changed

+59
-84
lines changed

galleries/users_explain/artists/transforms_tutorial.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,9 @@
6464
| |is top right of the output in | |
6565
| |"display units". | |
6666
| | | |
67-
| |The exact interpretation of the | |
68-
| |units depends on the back end. For | |
69-
| |example it is pixels for Agg and | |
70-
| |points for svg/pdf. | |
67+
| |"Display units" depends on the | |
68+
| |backend. For example, Agg uses | |
69+
| |pixels, and SVG/PDF use points. | |
7170
+----------------+-----------------------------------+-----------------------------+
7271
7372
The `~matplotlib.transforms.Transform` objects are naive to the source and

lib/matplotlib/_mathtext.py

Lines changed: 54 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import copy
99
import enum
1010
import functools
11+
import itertools
1112
import logging
1213
import math
1314
import os
@@ -409,14 +410,14 @@ def get_xheight(self, fontname: str, fontsize: float, dpi: float) -> float:
409410
metrics = self.get_metrics(
410411
fontname, mpl.rcParams['mathtext.default'], 'x', fontsize, dpi)
411412
return metrics.iceberg
412-
xHeight = (pclt['xHeight'] / 64.0) * (fontsize / 12.0) * (dpi / 100.0)
413-
return xHeight
413+
x_height = (pclt['xHeight'] / 64) * (fontsize / 12) * (dpi / 100)
414+
return x_height
414415

415416
def get_underline_thickness(self, font: str, fontsize: float, dpi: float) -> float:
416417
# This function used to grab underline thickness from the font
417418
# metrics, but that information is just too un-reliable, so it
418419
# is now hardcoded.
419-
return ((0.75 / 12.0) * fontsize * dpi) / 72.0
420+
return ((0.75 / 12) * fontsize * dpi) / 72
420421

421422
def get_kern(self, font1: str, fontclass1: str, sym1: str, fontsize1: float,
422423
font2: str, fontclass2: str, sym2: str, fontsize2: float,
@@ -1226,21 +1227,13 @@ def kern(self) -> None:
12261227
linked list.
12271228
"""
12281229
new_children = []
1229-
num_children = len(self.children)
1230-
if num_children:
1231-
for i in range(num_children):
1232-
elem = self.children[i]
1233-
if i < num_children - 1:
1234-
next = self.children[i + 1]
1235-
else:
1236-
next = None
1237-
1238-
new_children.append(elem)
1239-
kerning_distance = elem.get_kerning(next)
1240-
if kerning_distance != 0.:
1241-
kern = Kern(kerning_distance)
1242-
new_children.append(kern)
1243-
self.children = new_children
1230+
for elem0, elem1 in itertools.zip_longest(self.children, self.children[1:]):
1231+
new_children.append(elem0)
1232+
kerning_distance = elem0.get_kerning(elem1)
1233+
if kerning_distance != 0.:
1234+
kern = Kern(kerning_distance)
1235+
new_children.append(kern)
1236+
self.children = new_children
12441237

12451238
def hpack(self, w: float = 0.0,
12461239
m: T.Literal['additional', 'exactly'] = 'additional') -> None:
@@ -1534,20 +1527,18 @@ class AutoHeightChar(Hlist):
15341527

15351528
def __init__(self, c: str, height: float, depth: float, state: ParserState,
15361529
always: bool = False, factor: float | None = None):
1537-
alternatives = state.fontset.get_sized_alternatives_for_symbol(
1538-
state.font, c)
1530+
alternatives = state.fontset.get_sized_alternatives_for_symbol(state.font, c)
15391531

1540-
xHeight = state.fontset.get_xheight(
1541-
state.font, state.fontsize, state.dpi)
1532+
x_height = state.fontset.get_xheight(state.font, state.fontsize, state.dpi)
15421533

15431534
state = state.copy()
15441535
target_total = height + depth
15451536
for fontname, sym in alternatives:
15461537
state.font = fontname
15471538
char = Char(sym, state)
15481539
# Ensure that size 0 is chosen when the text is regular sized but
1549-
# with descender glyphs by subtracting 0.2 * xHeight
1550-
if char.height + char.depth >= target_total - 0.2 * xHeight:
1540+
# with descender glyphs by subtracting 0.2 * x_height
1541+
if char.height + char.depth >= target_total - 0.2 * x_height:
15511542
break
15521543

15531544
shift = 0.0
@@ -1574,8 +1565,7 @@ class AutoWidthChar(Hlist):
15741565

15751566
def __init__(self, c: str, width: float, state: ParserState, always: bool = False,
15761567
char_class: type[Char] = Char):
1577-
alternatives = state.fontset.get_sized_alternatives_for_symbol(
1578-
state.font, c)
1568+
alternatives = state.fontset.get_sized_alternatives_for_symbol(state.font, c)
15791569

15801570
state = state.copy()
15811571
for fontname, sym in alternatives:
@@ -2468,7 +2458,7 @@ def subsuper(self, s: str, loc: int, toks: ParseResults) -> T.Any:
24682458
state = self.get_state()
24692459
rule_thickness = state.fontset.get_underline_thickness(
24702460
state.font, state.fontsize, state.dpi)
2471-
xHeight = state.fontset.get_xheight(
2461+
x_height = state.fontset.get_xheight(
24722462
state.font, state.fontsize, state.dpi)
24732463

24742464
if napostrophes:
@@ -2537,24 +2527,21 @@ def subsuper(self, s: str, loc: int, toks: ParseResults) -> T.Any:
25372527
nucleus = Hlist([nucleus])
25382528

25392529
# Handle regular sub/superscripts
2540-
constants = _get_font_constant_set(state)
2530+
consts = _get_font_constant_set(state)
25412531
lc_height = last_char.height
25422532
lc_baseline = 0
25432533
if self.is_dropsub(last_char):
25442534
lc_baseline = last_char.depth
25452535

25462536
# Compute kerning for sub and super
2547-
superkern = constants.delta * xHeight
2548-
subkern = constants.delta * xHeight
2537+
superkern = consts.delta * x_height
2538+
subkern = consts.delta * x_height
25492539
if self.is_slanted(last_char):
2550-
superkern += constants.delta * xHeight
2551-
superkern += (constants.delta_slanted *
2552-
(lc_height - xHeight * 2. / 3.))
2540+
superkern += consts.delta * x_height
2541+
superkern += consts.delta_slanted * (lc_height - x_height * 2 / 3)
25532542
if self.is_dropsub(last_char):
2554-
subkern = (3 * constants.delta -
2555-
constants.delta_integral) * lc_height
2556-
superkern = (3 * constants.delta +
2557-
constants.delta_integral) * lc_height
2543+
subkern = (3 * consts.delta - consts.delta_integral) * lc_height
2544+
superkern = (3 * consts.delta + consts.delta_integral) * lc_height
25582545
else:
25592546
subkern = 0
25602547

@@ -2567,28 +2554,28 @@ def subsuper(self, s: str, loc: int, toks: ParseResults) -> T.Any:
25672554
x = Hlist([Kern(subkern), T.cast(Node, sub)])
25682555
x.shrink()
25692556
if self.is_dropsub(last_char):
2570-
shift_down = lc_baseline + constants.subdrop * xHeight
2557+
shift_down = lc_baseline + consts.subdrop * x_height
25712558
else:
2572-
shift_down = constants.sub1 * xHeight
2559+
shift_down = consts.sub1 * x_height
25732560
x.shift_amount = shift_down
25742561
else:
25752562
x = Hlist([Kern(superkern), super])
25762563
x.shrink()
25772564
if self.is_dropsub(last_char):
2578-
shift_up = lc_height - constants.subdrop * xHeight
2565+
shift_up = lc_height - consts.subdrop * x_height
25792566
else:
2580-
shift_up = constants.sup1 * xHeight
2567+
shift_up = consts.sup1 * x_height
25812568
if sub is None:
25822569
x.shift_amount = -shift_up
25832570
else: # Both sub and superscript
25842571
y = Hlist([Kern(subkern), sub])
25852572
y.shrink()
25862573
if self.is_dropsub(last_char):
2587-
shift_down = lc_baseline + constants.subdrop * xHeight
2574+
shift_down = lc_baseline + consts.subdrop * x_height
25882575
else:
2589-
shift_down = constants.sub2 * xHeight
2576+
shift_down = consts.sub2 * x_height
25902577
# If sub and superscript collide, move super up
2591-
clr = (2.0 * rule_thickness -
2578+
clr = (2 * rule_thickness -
25922579
((shift_up - x.depth) - (y.height - shift_down)))
25932580
if clr > 0.:
25942581
shift_up += clr
@@ -2599,7 +2586,7 @@ def subsuper(self, s: str, loc: int, toks: ParseResults) -> T.Any:
25992586
x.shift_amount = shift_down
26002587

26012588
if not self.is_dropsub(last_char):
2602-
x.width += constants.script_space * xHeight
2589+
x.width += consts.script_space * x_height
26032590

26042591
# Do we need to add a space after the nucleus?
26052592
# To find out, check the flag set by operatorname
@@ -2624,33 +2611,26 @@ def _genfrac(self, ldelim: str, rdelim: str, rule: float | None, style: _MathSty
26242611
width = max(num.width, den.width)
26252612
cnum.hpack(width, 'exactly')
26262613
cden.hpack(width, 'exactly')
2627-
vlist = Vlist([cnum, # numerator
2628-
Vbox(0, thickness * 2.0), # space
2629-
Hrule(state, rule), # rule
2630-
Vbox(0, thickness * 2.0), # space
2631-
cden # denominator
2632-
])
2614+
vlist = Vlist([
2615+
cnum, # numerator
2616+
Vbox(0, 2 * thickness), # space
2617+
Hrule(state, rule), # rule
2618+
Vbox(0, 2 * thickness), # space
2619+
cden, # denominator
2620+
])
26332621

26342622
# Shift so the fraction line sits in the middle of the
26352623
# equals sign
26362624
metrics = state.fontset.get_metrics(
26372625
state.font, mpl.rcParams['mathtext.default'],
26382626
'=', state.fontsize, state.dpi)
26392627
shift = (cden.height -
2640-
((metrics.ymax + metrics.ymin) / 2 -
2641-
thickness * 3.0))
2628+
((metrics.ymax + metrics.ymin) / 2 - 3 * thickness))
26422629
vlist.shift_amount = shift
26432630

2644-
result = [Hlist([vlist, Hbox(thickness * 2.)])]
2631+
result: list[Box | Char | str] = [Hlist([vlist, Hbox(2 * thickness)])]
26452632
if ldelim or rdelim:
2646-
if ldelim == '':
2647-
ldelim = '.'
2648-
if rdelim == '':
2649-
rdelim = '.'
2650-
return self._auto_sized_delimiter(ldelim,
2651-
T.cast(list[Box | Char | str],
2652-
result),
2653-
rdelim)
2633+
return self._auto_sized_delimiter(ldelim or ".", result, rdelim or ".")
26542634
return result
26552635

26562636
def style_literal(self, toks: ParseResults) -> T.Any:
@@ -2719,7 +2699,7 @@ def sqrt(self, toks: ParseResults) -> T.Any:
27192699

27202700
# Determine the height of the body, and add a little extra to
27212701
# the height so it doesn't seem cramped
2722-
height = body.height - body.shift_amount + thickness * 5.0
2702+
height = body.height - body.shift_amount + 5 * thickness
27232703
depth = body.depth + body.shift_amount
27242704
check = AutoHeightChar(r'\__sqrt__', height, depth, state, always=True)
27252705
height = check.height - check.shift_amount
@@ -2729,13 +2709,13 @@ def sqrt(self, toks: ParseResults) -> T.Any:
27292709
padded_body = Hlist([Hbox(2 * thickness), body, Hbox(2 * thickness)])
27302710
rightside = Vlist([Hrule(state), Glue('fill'), padded_body])
27312711
# Stretch the glue between the hrule and the body
2732-
rightside.vpack(height + (state.fontsize * state.dpi) / (100.0 * 12.0),
2712+
rightside.vpack(height + (state.fontsize * state.dpi) / (100 * 12),
27332713
'exactly', depth)
27342714

27352715
# Add the root and shift it upward so it is above the tick.
27362716
# The value of 0.6 is a hard-coded hack ;)
27372717
if not root:
2738-
root = Box(check.width * 0.5, 0., 0.)
2718+
root = Box(0.5 * check.width, 0., 0.)
27392719
else:
27402720
root = Hlist(root)
27412721
root.shrink()
@@ -2744,11 +2724,12 @@ def sqrt(self, toks: ParseResults) -> T.Any:
27442724
root_vlist = Vlist([Hlist([root])])
27452725
root_vlist.shift_amount = -height * 0.6
27462726

2747-
hlist = Hlist([root_vlist, # Root
2748-
# Negative kerning to put root over tick
2749-
Kern(-check.width * 0.5),
2750-
check, # Check
2751-
rightside]) # Body
2727+
hlist = Hlist([
2728+
root_vlist, # Root
2729+
Kern(-0.5 * check.width), # Negative kerning to put root over tick
2730+
check, # Check
2731+
rightside, # Body
2732+
])
27522733
return [hlist]
27532734

27542735
def overline(self, toks: ParseResults) -> T.Any:
@@ -2757,14 +2738,14 @@ def overline(self, toks: ParseResults) -> T.Any:
27572738
state = self.get_state()
27582739
thickness = state.get_current_underline_thickness()
27592740

2760-
height = body.height - body.shift_amount + thickness * 3.0
2741+
height = body.height - body.shift_amount + 3 * thickness
27612742
depth = body.depth + body.shift_amount
27622743

27632744
# Place overline above body
27642745
rightside = Vlist([Hrule(state), Glue('fill'), Hlist([body])])
27652746

27662747
# Stretch the glue between the hrule and the body
2767-
rightside.vpack(height + (state.fontsize * state.dpi) / (100.0 * 12.0),
2748+
rightside.vpack(height + (state.fontsize * state.dpi) / (100 * 12),
27682749
'exactly', depth)
27692750

27702751
hlist = Hlist([rightside])
@@ -2810,10 +2791,7 @@ def _auto_sized_delimiter(self, front: str,
28102791

28112792
def auto_delim(self, toks: ParseResults) -> T.Any:
28122793
return self._auto_sized_delimiter(
2813-
toks["left"],
2814-
# if "mid" in toks ... can be removed when requiring pyparsing 3.
2815-
toks["mid"].as_list() if "mid" in toks else [],
2816-
toks["right"])
2794+
toks["left"], toks["mid"].as_list(), toks["right"])
28172795

28182796
def boldsymbol(self, toks: ParseResults) -> T.Any:
28192797
self.push_state()

lib/matplotlib/axis.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1330,10 +1330,8 @@ def _update_ticks(self):
13301330

13311331
return ticks_to_draw
13321332

1333-
def _get_ticklabel_bboxes(self, ticks, renderer=None):
1333+
def _get_ticklabel_bboxes(self, ticks, renderer):
13341334
"""Return lists of bboxes for ticks' label1's and label2's."""
1335-
if renderer is None:
1336-
renderer = self.get_figure(root=True)._get_renderer()
13371335
return ([tick.label1.get_window_extent(renderer)
13381336
for tick in ticks if tick.label1.get_visible()],
13391337
[tick.label2.get_window_extent(renderer)

lib/matplotlib/projections/polar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def transform_non_affine(self, values):
207207
# docstring inherited
208208
x, y = values.T
209209
r = np.hypot(x, y)
210-
theta = (np.arctan2(y, x) + 2 * np.pi) % (2 * np.pi)
210+
theta = np.arctan2(y, x) % (2 * np.pi)
211211
if self._use_rmin and self._axis is not None:
212212
r += self._axis.get_rorigin()
213213
r *= self._axis.get_rsign()

0 commit comments

Comments
 (0)