Legend for the Layers
Legend is an important component for data visualization. In whitecanvas
, you can
automatically or manually create legends independent of the backend you are using.
Note
The legend is not supported in the vispy
backend.
To create a legend, you can use the add_legend
method. The layer names are used as
the labels of the legend.
import numpy as np
from whitecanvas import new_canvas
x = np.linspace(-1, 1, 100)
canvas = new_canvas(backend="matplotlib")
canvas.add_line(x, x, name="y=x", color="gray")
canvas.add_line(x, x**2, name="y=x^2", color="blue")
canvas.add_line(x, x**3, name="y=x^3", color="red", style="--")
canvas.add_legend()
canvas.show()
You can explicitly specify the layers to be included in the legend. If a str
is given,
it is interpreted as the title.
import numpy as np
from whitecanvas import new_canvas
x = np.linspace(-1, 1, 100)
canvas = new_canvas(backend="matplotlib")
x1 = canvas.add_line(x, x, name="y=x", color="gray")
x2 = canvas.add_line(x, x**2, name="y=x^2", color="blue")
x3 = canvas.add_line(x, x**3, name="y=x^3", color="red", style="--")
canvas.add_legend(["odd functions", x1, x3])
canvas.show()
Legend location can be specified by the location
argument.
import numpy as np
from whitecanvas import new_canvas
x = np.linspace(-1, 1, 100)
canvas = new_canvas(backend="matplotlib")
x1 = canvas.add_line(x, x, name="y=x", color="gray")
x2 = canvas.add_line(x, x**2, name="y=x^2", color="blue")
x3 = canvas.add_line(x, x**3, name="y=x^3", color="red", style="--")
canvas.add_legend(location="right_side_top")
canvas.show()