8000 Revert "Merge pull request #22361 from anntzer/datetex" · matplotlib/matplotlib@d5a5823 · GitHub
[go: up one dir, main page]

Skip to content

Commit d5a5823

Browse files
committed
Revert "Merge pull request #22361 from anntzer/datetex"
This reverts commit c98411e, reversing changes made to ccf5115.
1 parent a283d20 commit d5a5823

File tree

2 files changed

+32
-20
lines changed

2 files changed

+32
-20
lines changed

lib/matplotlib/dates.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@
173173
import functools
174174
import logging
175175
import math
176+
import re
176177

177178
from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
178179
MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY,
@@ -597,7 +598,16 @@ def drange(dstart, dend, delta):
597598

598599

599600
def _wrap_in_tex(text):
600-
return r"{\fontfamily{\familydefault}\selectfont " + text + "}"
601+
p = r'([a-zA-Z]+)'
602+
ret_text = re.sub(p, r'}$\1$\\mathdefault{', text)
603+
604+
# Braces ensure symbols are not spaced like binary operators.
605+
ret_text = ret_text.replace('-', '{-}').replace(':', '{:}')
606+
# To not concatenate space between numbers.
607+
ret_text = ret_text.replace(' ', r'\;')
608+
ret_text = '$\\mathdefault{' + ret_text + '}$'
609+
ret_text = ret_text.replace('$\\mathdefault{}$', '')
610+
return ret_text
601611

602612

603613
## date tickers and formatters ###

lib/matplotlib/tests/test_dates.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -322,13 +322,13 @@ def callable_formatting_function(dates, _):
322322

323323
@pytest.mark.parametrize('delta, expected', [
324324
(datetime.timedelta(weeks=52 * 200),
325-
range(1990, 2171, 20)),
325+
[r'$\mathdefault{%d}$' % year for year in range(1990, 2171, 20)]),
326326
(datetime.timedelta(days=30),
327-
['1990-01-%02d' % day for day in range(1, 32, 3)]),
327+
[r'$\mathdefault{1990{-}01{-}%02d}$' % day for day in range(1, 32, 3)]),
328328
(datetime.timedelta(hours=20),
329-
['01-01 %02d' % hour for hour in range(0, 21, 2)]),
329+
[r'$\mathdefault{01{-}01\;%02d}$' % hour for hour in range(0, 21, 2)]),
330330
(datetime.timedelta(minutes=10),
331-
['01 00:%02d' % minu for minu in range(0, 11)]),
331+
[r'$\mathdefault{01\;00{:}%02d}$' % minu for minu in range(0, 11)]),
332332
])
333333
def test_date_formatter_usetex(delta, expected):
334334
style.use("default")
@@ -341,8 +341,7 @@ def test_date_formatter_usetex(delta, expected):
341341
locator.axis.set_view_interval(mdates.date2num(d1), mdates.date2num(d2))
342342

343343
formatter = mdates.AutoDateFormatter(locator, usetex=True)
344-
assert [formatter(loc) for loc in locator()] == [
345-
r'{\fontfamily{\familydefault}\selectfont %s}' % s for s in expected]
344+
assert [formatter(loc) for loc in locator()] == expected
346345

347346

348347
def test_drange():
@@ -645,14 +644,24 @@ def test_offset_changes():
645644

646645
@pytest.mark.parametrize('t_delta, expected', [
647646
(datetime.timedelta(weeks=52 * 200),
648-
range(1980, 2201, 20)),
647+
['$\\mathdefault{%d}$' % (t, ) for t in range(1980, 2201, 20)]),
649648
(datetime.timedelta(days=40),
650-
['Jan', '05', '09', '13', '17', '21', '25', '29', 'Feb', '05', '09']),
649+
['Jan', '$\\mathdefault{05}$', '$\\mathdefault{09}$',
650+
'$\\mathdefault{13}$', '$\\mathdefault{17}$', '$\\mathdefault{21}$',
651+
'$\\mathdefault{25}$', '$\\mathdefault{29}$', 'Feb',
652+
'$\\mathdefault{05}$', '$\\mathdefault{09}$']),
651653
(datetime.timedelta(hours=40),
652-
['Jan-01', '04:00', '08:00', '12:00', '16:00', '20:00',
653-
'Jan-02', '04:00', '08:00', '12:00', '16:00']),
654+
['Jan$\\mathdefault{{-}01}$', '$\\mathdefault{04{:}00}$',
655+
'$\\mathdefault{08{:}00}$', '$\\mathdefault{12{:}00}$',
656+
'$\\mathdefault{16{:}00}$', '$\\mathdefault{20{:}00}$',
657+
'Jan$\\mathdefault{{-}02}$', '$\\mathdefault{04{:}00}$',
658+
'$\\mathdefault{08{:}00}$', '$\\mathdefault{12{:}00}$',
659+
'$\\mathdefault{16{:}00}$']),
654660
(datetime.timedelta(seconds=2),
655-
['59.5', '00:00', '00.5', '01.0', '01.5', '02.0', '02.5']),
661+
['$\\mathdefault{59.5}$', '$\\mathdefault{00{:}00}$',
662+
'$\\mathdefault{00.5}$', '$\\mathdefault{01.0}$',
663+
'$\\mathdefault{01.5}$', '$\\mathdefault{02.0}$',
664+
'$\\mathdefault{02.5}$']),
656665
])
657666
def test_concise_formatter_usetex(t_delta, expected):
658667
d1 = datetime.datetime(1997, 1, 1)
@@ -663,8 +672,7 @@ def test_concise_formatter_usetex(t_delta, expected):
663672
locator.axis.set_view_interval(mdates.date2num(d1), mdates.date2num(d2))
664673

665674
formatter = mdates.ConciseDateFormatter(locator, usetex=True)
666-
assert formatter.format_ticks(locator()) == [
667-
r'{\fontfamily{\familydefault}\selectfont %s}' % s for s in expected]
675+
assert formatter.format_ticks(locator()) == expected
668676

669677

670678
def test_concise_formatter_formats():
@@ -1347,12 +1355,6 @@ def test_date_ticker_factory(span, expected_locator):
13471355
assert isinstance(locator, expected_locator)
13481356

13491357

1350-
def test_usetex_newline():
1351-
fig, ax = plt.subplots()
1352-
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m\n%Y'))
1353-
fig.canvas.draw()
1354-
1355-
13561358
def test_datetime_masked():
13571359
# make sure that all-masked data falls back to the viewlim
13581360
# set in convert.axisinfo....

0 commit comments

Comments
 (0)
0