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
# 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
# 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:
Python3
# 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.
Python
# 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: