How do I write a Latex formula in the legend of a plot using Matplotlib inside a .py file?

Question:

I am writing a script in Python (.py file) and I am using Matplotlib to plot an array.
I want to add a legend with a formula to the plot, but I haven’t been able to do it.
I have done this before in IPython or the terminal. In this case, writing something like this:

legend(ur'$The_formula$')

worked perfectly. However, this doesn’t work when I call my .py script from the terminal/IPython.

Asked By: Titianne

||

Answers:

When writing code for labels it is:

import pylab

# code here

pylab.plot(x,y,'f:', '$sin(x)$')

So perhaps pylab.legend('$latex here$')

Edit:

The u is for unicode strings, try just r'$latex$'

Answered By: user517339

The easiest way is to assign the label when you plot the data,
e.g.:

import matplotlib.pyplot as plt
ax = plt.gca()  # or any other way to get an axis object
ax.plot(x, y, label=r'$sin (x)$')

ax.legend()
Answered By: tacaswell
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.