How to Add Labels in a Plot using Python?
Prerequisites: Python Matplotlib
In this article, we will discuss adding labels to the plot using Matplotlib in Python. But first, understand what are labels in a plot. The heading or sub-heading written at the vertical axis (say Y-axis) and the horizontal axis(say X-axis) improves the quality of understanding of plotted stats.
Example: Let's create a simple plot
# python program to plot graph without labels
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# it will take x coordinates by default
# starting from 0,1,2,3,4...
y = np.array([3, 8, 1, 10])
plt.plot(y)
plt.show()
Output:

Creating Labels for a Plot
By using pyplot() function of library we can add xlabel() and ylabel() to set x and y labels.
Example: Let's add Label in the above Plot
# python program for plots with label
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Number of children it was default in earlier case
x = np.array([0, 1, 2, 3])
# Number of families
y = np.array([3, 8, 1, 10])
plt.plot(x, y)
# Label for x-axis
plt.xlabel("Number of Childrens")
# Label for y-axis
plt.ylabel("Number of Families")
plt.show() # for display
Output:

If you would like to make it more understandable, add a Title to the plot, by just adding a single line of code.
plt.title("Survey Of Colony")
Example:
# python program for plots with label
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Number of children it was default in earlier case
x = np.array([0, 1, 2, 3])
# Number of families
y = np.array([3, 8, 1, 10])
plt.plot(x, y)
# Label for x-axis
plt.xlabel("Number of Childrens")
# Label for y-axis
plt.ylabel("Number of Families")
# title of the plot
plt.title("Survey Of Colony")
plt.show() # for display
Output:

Set Font Properties for Titles and Labels
In order to make the Plot more attractive use the fontdict parameter in xlabel(), ylabel(), and title() to apply the font properties.
# Adding font properties to labels and titles
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Number of Children
x = np.array([0, 1, 2, 3])
# Number of Families
y = np.array([3, 8, 1, 10])
# label including this form1 will have these properties
form1 = {'family': 'serif', 'color': 'blue', 'size': 20}
# label including this form2 will have these properties
form2 = {'family': 'serif', 'color': 'darkred', 'size': 15}
plt.plot(x, y)
plt.xlabel("Number of Childrens", fontdict=form1)
plt.ylabel("Number of Families", fontdict=form1)
plt.title("Survey Of Colony", fontdict=form2)
plt.show()
Output:
