Inserting a degree symbol into python plot

Use degree unicode symbol, especially if you don't need LaTeX for other symbols.

U+00B0: °

In python3, it's just: plt.xlabel("Manufactured Ply Angle (°)")


Use LaTeX Style. For Example: $^\circ$ Text would produce °Text

See the matplotlib documentation for more information about printing (especially mathematical expression).

In your case the code has to be: plt.xlabel('Manufactured Ply Angle $^\circ$')

The TeX part of the expression must be enclosed by dollar signs "$".


Use LaTeX math. On my system the best visual appearance is achieved with

label = r'$45\degree$'

and it looks exactly like the default theta labels of a polar plot.

As others have pointed out kludges like

  • label = r'$45^\circ$'
  • label = '$45^o$'

etc. work too but the visual appearance is not so good. On my system these workarounds render a symbol that is slightly too small. YMMV, thus one may want to try what looks best on her system.

For example on a polar contour plot where radius is sine of zenith angle one may want to use

deg_labels = np.array([5, 10, 20, 30, 45, 60, 90])
ax.set_rgrids(np.sin(np.deg2rad(deg_labels)),     
              labels=(r"${:.0f}\degree$".format(_) for _ in deg_labels))