Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wrong latex rendering in matplotlib

With python 2.7.12 (on Ubuntu 16.04), and matplotlib 1.5.2, the following code is rendered incorrectly:

from matplotlib.pyplot import *
plot([1,2],[1,1])
xlabel(r"$\beta+1$")
title(r'$\alpha > \beta$')
show()

The xlabel renders as if it was $\partial i\Delta$ and the title renders as if it was $\rightharpoonup\Upsilon\partial$ as you can see here: output

My latex installation is otherwise functional. Any idea what the problem is?

like image 878
tomaok Avatar asked Nov 09 '22 09:11

tomaok


1 Answers

As you can read in the User's Guide, about the matplotlibrc file:

# [...] When text.usetex is False,
# font.family may also be one or more concrete font names.

Therefore, you should use a concrete font.family property or just change the text.usetex parameter to True in the matplotlibrc file.

#text.usetex     : False  # use latex for all text handling. The following fonts
                          # are supported through the usual rc parameter settings:
                          # new century schoolbook, bookman, times, palatino,
                          # zapf chancery, charter, serif, sans-serif, helvetica,
                          # avant garde, courier, monospace, computer modern roman,
                          # computer modern sans serif, computer modern typewriter
                          # If another font is desired which can loaded using the
                          # LaTeX \usepackage command, please inquire at the
                          # matplotlib mailing list
like image 53
oscar.st Avatar answered Nov 14 '22 22:11

oscar.st