nschloe/tikzplotlib

`matplotlib 3.6` deprecates `pgf.common_texification`

Sbozzolo opened this issue ยท 6 comments

tikzplotlib with matplotlib >= 3.6 emits a deprecation warning:

tikzplotlib/_axes.py:12: MatplotlibDeprecationWarning: The common_texification function was deprecated in Matplotlib 3.6 and will be removed two minor releases later.

Hi,
This issue becomes critical because common_texification has been suppressed from matplotlib 3.8. Hence sadly, packages that use tikzplotlib now fail their tests because even just importing tikzplotlib leads to an error, unless if we specify that matplotlib should be <=3.7. :'-(
Thanks for the awesome job on tikzplotlib, by the way!

common_texification basically has been a public wrapper around the private _tex_escape method during the deprecation phase (see matplotlib/matplotlib@336028f#diff-3ceb75d68efae3eba151a1bb856b1ea8467d64abcb0dc725ed3fa2e441e16fcaR96-R126 and https://github.com/matplotlib/matplotlib/blob/a302267d7f0ec4ab05973b984f7b56db21bf524c/lib/matplotlib/backends/backend_pgf.py#L100-L125). I do not know how matplotlib/matplotlib@1936c94 influences tikzplotlib as well.

While there is no solution (which I do not expect in the near future, but evaluating a possible PR should always be possible to support others which face a similar issue), you might want to try monkey-patching the corresponding method with either the old or the new implementation.

Thanks for the answer! For the moment, I just configure my CI to run with matplotlib 3.7 and it works fine.

Is there any plan to address this?

See my previous comment: You might submit a corresponding PR or decide to monkey-patch this for now. Please note that development is more or less stalled at the moment unfortunately, although there have been some notes about possible changes in the future.

Is there any solution, or need to downgrade matplotlib? :(