How to obtain the same font in Matplotlib output as in LaTex output?

MatplotlibPythonData Visualization

To make bold font weight LaTeX axes label in matplotlib, we can take the following steps−

  • Create data points for x.
  • Create data points for y, i.e., y=sin(x).
  • Plot the curve x and y with LaTex representation.
  • To activate the label, use legend() method.
  • To display the figure, use show() method.


import numpy as np
from matplotlib import pyplot as plt, font_manager as fm
fprop = fm.FontProperties(fname='/usr/share/fonts/truetype/malayalam/Karumbi.ttf')
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(1, 10, 1000)
y = np.sin(x)
plt.plot(x, y, label=r'$\sin (x)$', c="red", lw=2)
plt.title(label=r'$\sin (x)$', fontproperties=fprop)


Updated on 15-May-2021 12:35:52