In this Python Matplotlib tutorial, we will discuss Matplotlib set_yticklabels in matplotlib. Here we will cover different examples related to set_yticklabels using matplotlib. And we will also cover the following topics:
- Matplotlib set_yticklabels
- Matplotlib set_yticklabels fontdict
- Matplotlib set_yticklabels fontsize
- Matplotlib set_yticklabels fontstyle
- Matplotlib set_yticklabels color
- Matplotlib set_yticklabels vertical alignment
- Matplotlib set_yticklabels horizontal alignment
- Matplotlib set_yticklabels rotation
- Matplotlib set_yticklabels invisible
- Matplotlib set_yticklabels alignement
- Matplotlib set_yticklabels minor
- Matplotlib colorbar set_yticklabels
Matplotlib set_yticklabels
In this section, we learn about the set_yticklabels() function in the axes module of matplotlib in Python. The set_yticklabels function is used to set the y-ticks labels with the list of string labels.
The syntax is given below:
matplotlib.axes.Axes.set_yticklabels(labels, fontdict=None, minor=False, **kwargs)
The following are the parameters:
Parameters | Value | Default | Description |
labels | list of string | This parameter is used to specify the list of string labels. | |
fontdict | dict | { ‘fontsize’ : rcParams[ ‘axes.titlesize ‘], ‘fontweight’ : rcParams[ ‘axes.titleweight ‘], ‘verticalalignment’ : ‘baseline’, ‘horizontalalignment’ : loc} | This parameter is used to control the appearance of the ticklabels. |
minor | bool | False | Specify whether to set minor ticklabels or not. |
Warning
This method only be used after fixing the tick positions using Axes.set_yticks.
Let’s see an example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 5 * np.pi, 100)
y = np.sin(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1, 2, 3])
ax.set_yticklabels(['Label-1', 'Label-2', 'Label-3', 'Label-4', 'Label-5'])
# Add fig title
fig.suptitle('set_yticklabels()function Example', fontweight ="bold")
# Display
plt.show()
- In the above example, we import numpy and matplotlib.pyplot library.
- After this, we create a subplot by using subplots() function.
- To define data coordinates, we use linespace() and sin() function.
- To plot the graph between x and y data coordinates, we use the plot() function.
- To fix the position of ticks at the y-axis, use the set_yticks() function.
- To set the string labels at the y-axis, use the set_yticklabels() functions.
- We use the suptitle() function to add supltilte on the figure
- To display the plot on the user’s screen, use the show() function.
Read: Put legend outside plot matplotlib
Matplotlib set_yticklabels fontdict
We’ll learn how to use the fontdict parameter of the set_yticklabels method. fontdict parameter is a dictionary that is used to control the appearance of the ticklabels.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels,fontdict=None)
Let’s see an example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 5 * np.pi, 150)
y = np.sin(x)
# Plot
ax.plot(x, y)
# font dict
font_dict = {'fontsize': 15, 'fontweight': 'bold',
'verticalalignment':'top'}
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Label-1', 'Label-2', 'Label-3'], fontdict=font_dict)
# Add fig title
fig.suptitle('set_yticklabels fontdict Example', fontweight ="bold")
# Display
plt.show()
Here we pass the fontdict parameter to the set_yticklabels method. We create a dictionary font_dict to change the appearance of tick labels with the following key and value:
key | value |
---|---|
fontsize | 15 |
fontweight | bold |
verticalalignment | top |
Output:
Read: Matplotlib invert y axis
Matplotlib set_yticklabels fontsize
Here we’ll learn how to change the font size of y-axis ticklabels. To change the size of the font, we pass the fontsize argument to the set_yticklabels method.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels, fontsize=None)
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 5 * np.pi, 150)
y = np.cos(60*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Label-1', 'Label-2', 'Label-3'],fontsize=20 )
# Add fig title
fig.suptitle('set_yticklabels fontsize Example', fontweight ="bold")
# Display
plt.show()
In the above example, we set text labels at the y-axis by using the set_yticklabels method, and the fontsize argument is passed to change the font size of the ticklabels.
We assign a 20pt value to the fontsize argument.
Read: Matplotlib title font size
Matplotlib set_yticklabels fontstyle
We’ll learn how to change the font style of the tick labels at the y-axis. To change the style we pass the fontstyle argument to the set_yticklabels method.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels, fontstyle=None)
Let’s see an example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 250, 250)
y = np.sin(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Label-1', 'Label-2', 'Label-3'],fontstyle='oblique')
# Add fig title
fig.suptitle('set_yticklabels fontstyle Example', fontweight ="bold")
# Display
plt.show()
Here we change the font style of the y-axis tick labels and set it to oblique.
Read: Matplotlib default figure size
Matplotlib set_yticklabels color
Here we’ll learn to change the color of ticklabels. To change the color, we pass the color argument to the set_yticklabels method.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels (labels, color=None)
Let’s see an example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 250, 250)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], color='green')
# Add fig title
fig.suptitle('set_yticklabels color Example', fontweight ="bold")
# Display
plt.show()
- In the above example, we define data coordinates using linespace() and cos() methods, and to plot them we, use the plot() method.
- After this, we use the set_yticks() method for fixing the position of ticks at the y-axis.
- Then we use the set_yticklabels() method for setting string labels at the axis. And to change the color of ticklabels we pass a color argument to the method.
By default, the color of the ticklabels is black, now we change it to green.
Read: Matplotlib savefig blank image
Matplotlib set_yticklabels vertical alignment
Here we’ll learn to change the vertical alignment of y- ticklabels. To change the alignment we pass the verticalalignment argument to the set_yticklabels() method.
We can also write va in place of verticalalignment.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels, verticalalignment = 'center' | 'top' | 'bottom' | 'baseline' | 'center_baseline')
5 available different vertical alignments are:
- center
- top
- bottom
- baseline
- center_baseline
verticalalignment=’center’
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(0, 20, 0.2)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], verticalalignment='center')
# Add fig title
fig.suptitle('set_yticklabels va=center Example', fontweight ="bold")
# Display
plt.show()
- Here we use the arange() and cos() methods to define data coordinates.
- After this, we use the plot() method to plot a graph between x and y coordinates.
- To set the tick marks, use set_yticks() method.
- To set the tick labels in string format, we use the set_yticklabels() method.
- Here we set the verticalalignemnt of tick labels to the center.
verticalalignment=’top’
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(0, 20, 0.2)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], verticalalignment='top')
# Add fig title
fig.suptitle('set_yticklabels va=top Example', fontweight ="bold")
# Display
plt.show()
Here we pass the verticalalignment argument to the set_yticklabels method, to set the alignment of ticklabels to the top.
verticalalignment=’bottom’
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(0, 20, 0.2)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], verticalalignment='bottom')
# Add fig title
fig.suptitle('set_yticklabels va=bottom Example', fontweight ="bold")
# Display
plt.show()
verticalalignment=’baseline’
Code:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(0, 20, 0.2)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], verticalalignment='baseline')
# Add fig title
fig.suptitle('set_yticklabels va=baseline Example', fontweight ="bold")
# Display
plt.show()
Here we set the vertical alignment of ticklabels to baseline.
verticalalignment=’center_baseline’
Code:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(0, 20, 0.2)
y = np.cos(x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], verticalalignment='center_baseline')
# Add fig title
fig.suptitle('set_yticklabels va=center_baseline Example', fontweight ="bold")
# Display
plt.show()
Read: Matplotlib bar chart labels
Matplotlib set_yticklabels horizontal alignment
Here we’ll learn to change the horizontal alignment of y- ticklabels. To change the alignment pass horizontalalignment argument to set_yticklabels() method.
You can write ha in place of horizontalalignment.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels, horizontalalignment= 'center' | 'right' | 'left'
3 different horizontal alignments are:
- center
- right
- left
horizontalalignment=’center’
Code:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(10, 100, 0.25)
y = np.sin(30*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], horizontalalignment = 'center')
# Add fig title
fig.suptitle('set_yticklabels ha=center Example', fontweight ="bold")
# Display
plt.show()
- Here we use the arange() and sin() methods to define data coordinates.
- After this, we use the plot() method to plot a graph between x and y coordinates.
- To set the tick marks, use set_yticks() method.
- To set the tick labels in string format, we use the set_yticklabels() method.
- Here we set the horizontalalignment of tick labels to the center.
horizontalalignment=’right’
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(10, 100, 0.25)
y = np.sin(30*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], horizontalalignment = 'right')
# Add fig title
fig.suptitle('set_yticklabels ha=right Example', fontweight ="bold")
# Display
plt.show()
horizontalalignment=’left’
Here we are going to set the horizontal alignment of y-axis ticklabels to left.
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(10, 100, 0.25)
y = np.sin(30*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'], horizontalalignment = 'left', fontsize=20)
# Add fig title
fig.suptitle('set_yticklabels ha=left Example', fontweight ="bold")
# Display
plt.show()
Output:
Read: Matplotlib plot error bars
Matplotlib set_yticklabels rotation
Here we’ll learn to rotate the y-axis ticklabels. To change the angle of rotation we pass the rotation argument to the set_yticklabels() method. Bascially, it is used to avoid overlapping of the labels.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels(labels , rotation=None)
Let’s see an example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.arange(10, 100, 30)
y = np.sin(90*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Value-1', 'Value-2', 'Value-3'],rotation=45)
# Add fig title
fig.suptitle('set_yticklabels rotation Example', fontweight ="bold")
# Display
plt.show()
- In the above example, we plot a graph by using the plot() method. And to define the data coordinates we are using the arange() and sin() method of numpy.
- To rotate the ticklabels here we use the set_yticklabels() method with rotation argument.
Read: Draw vertical line matplotlib
Matplotlib set_yticklabels invisible
Here we’ll learn how to invisible ticklabels at the y-axis. Here we set the labels to be empty so that it makes the axis text hide. But the ticks remain visible.
The following is the syntax:
matplotlib.axes.Axes.set_yticklabels([])
Let’s have a look at an example related to invisible labels:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 5 * np.pi, 150)
y = np.cos(60*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels([] )
# Add fig title
fig.suptitle('set_yticklabels fontsize Example', fontweight ="bold")
# Display
plt.show()
Here you see that if we pass the blank list to the set_yticklabels() method, the labels get invisible but ticks remain there.
Read: Horizontal line matplotlib
Matplotlib set_yticklabels alignemnt
Here we’ll learn to change the alignment of the y-axis ticklabels. To change the alignment pass rotation as an argument to set_yticklabels method and set’s its value to vertical or horizontal.
By default, the alignment of y-axis labels is horizontal.
The following is the syntax:
matplotlib.axes.Axes.set_ticklabels(labels, rotation= 'vertical' | 'horizontal')
Example:
# Import Library
import numpy as np
import matplotlib.pyplot as plt
# Create subplot
fig, ax = plt.subplots()
# Define Data
x = np.linspace(0, 5 * np.pi, 150)
y = np.cos(90*x)
# Plot
ax.plot(x, y)
# Set ticklabels
ax.set_yticks([-1 , 0, 1])
ax.set_yticklabels(['Lable-1', 'Label-2', 'Label-3'], rotation='vertical')
# Add fig title
fig.suptitle('set_yticklabels invisible Example', fontweight ="bold")
# Display
plt.show()
In the above example, we pass the rotation argument to the set_yticklabels() method and set its value to vertical, to get vertical-align labels.
Read: Stacked Bar Chart Matplotlib
Matplotlib set_yticklabels minor
Here we’ll learn how to set the minor ticklabels rather than the major ones at the y-axis.
The syntax is given below:
matplotlib.axes.Axes.set_yticklabels(labels, minor=True)
Code:
# Import Library
import matplotlib.pyplot as plt
# Create subplots
fig, ax = plt.subplots()
# Plot graph
ax.plot(range(12, 24), range(12))
# Set tick marks
ax.set_yticks((1, 3, 5, 7, 9), minor=True)
# Set ticklabels
ax.set_yticklabels(("Label-1", "Label-2",
"Label-3", "Label-4", "Label-5"),
minor=True, color='Red')
# Add fig title
fig.suptitle('set_yticklabels minor Example', fontweight ="bold")
# Display
plt.show()
In the above example, we pass minor as an argument to both the methods i.e. set_yticklabels and set_yticks to set the minor ticklabels and ticks instead of major ones.
Read: Matplotlib two y axes
Matplotlib colorbar set_yticklabels
Here we’ll learn how to set text labels at colorbar axes.
Example:
# Import Libraries
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
from numpy.random import randn
# Subplots
fig, ax = plt.subplots()
# Fix random
np.random.seed(19680801)
# Define Data and Plot
data = np.clip(randn(250, 300), -1, 1)
cax = ax.imshow(data, cmap=cm.cividis)
# Add colorbar and set ticks and ticklabel
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['Low', 'Medium', 'High'])
# Add fig title
fig.suptitle('set_yticklabels colorbar Example', fontweight ="bold")
# Display
plt.show()
- Here we fix random number by using random.seed() method of numpy.
- Then we define data using the clip() method of numpy.
- To plot the data we use, imshow() method.
- By using colorbar() method, we add a colorbar to a plot and set ticks.
- Then we use the set_yticklabels() method to set the y-axis labels with the list of string labels.
Also, check the following related posts.
- Matplotlib fill_between
- Matplotlib Pie Chart Tutorial
- Matplotlib Plot NumPy Array
- Matplotlib time series plot
- Matplotlib secondary y-axis
So, in this Python tutorial, we have discussed the “Matplotlib set_yticklabels” and we have also covered some examples related to it. These are the following topics that we have discussed in this tutorial.
- Matplotlib set_yticklabels
- Matplotlib set_yticklabels fontdict
- Matplotlib set_yticklabels fontsize
- Matplotlib set_yticklabels fontstyle
- Matplotlib set_yticklabels color
- Matplotlib set_yticklabels vertical alignment
- Matplotlib set_yticklabels horizontal alignment
- Matplotlib set_yticklabels rotation
- Matplotlib set_yticklabels invisible
- Matplotlib set_yticklabels alignement
- Matplotlib set_yticklabels minor
- Matplotlib colorbar set_yticklabels
I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.