When we have multiple lines on a single graph we can label them by using the command plt.legend()
.
The legend
method takes a list with the labels to display.
So, for example, we can call:
plt.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16]) plt.plot([0, 1, 2, 3, 4], [0, 1, 8, 27, 64]) plt.legend(['parabola', 'cubic']) plt.show()
which would display a legend on our graph, labeling each line:
plt.legend()
can also take a keyword argument loc
, which will position the legend on the figure.
These are the position values loc
accepts:
Number Code | String |
---|---|
0 | best |
1 | upper right |
2 | upper left |
3 | lower left |
4 | lower right |
5 | right |
6 | center left |
7 | center right |
8 | lower center |
9 | upper center |
10 | center |
Note: If you decide not to set a value for loc
, it will default to choosing the “best” location.
For, example, we can call plt.legend()
and set loc
to 6
:
plt.legend(['parabola', 'cubic'], loc=6) plt.show()
which would move the legend to the left side of the graph:
Sometimes, it’s easier to label each line as we create it. If we want, we can use the keyword label
inside of plt.plot()
. If we choose to do this, we don’t pass any labels into plt.legend()
. For example:
plt.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16], label="parabola") plt.plot([0, 1, 2, 3, 4], [0, 1, 8, 27, 64], label="cubic") plt.legend() # Still need this command! plt.show()
This would display a legend that looks just like what we had before:
Instructions
We have plotted three lines for you. They represent the temperatures over the past year in three locations:
- Hyrule (
hyrule
) - Kakariko (
kakariko
) - Gerudo Valley (
gerudo
)
Create a list of strings containing "Hyrule"
, "Kakariko"
, and "Gerudo Valley"
, and store it in a variable called legend_labels
.
Create a legend for the graph by feeding in legend_labels
into plt.legend()
.
Set the legend to be at the lower center of the chart.