Matplotlib.pyplot.locator_params() in Python
Last Updated :
21 Apr, 2020
Improve
Matplotlib is one of the most popular Python packages used for data visualization. It is a cross-platform library for making 2D plots from data in arrays.Pyplot is a collection of command style functions that make matplotlib work like MATLAB.
Note: For more information, refer to Python Matplotlib – An Overview
locator_params() is used for controlling the behaviors of tick locators. The attribute axis is for specifying on which axis is the function being applied.
Python3
Output:
Example 2:
Python3
Output:
Example 3:
Python3
Output:
# for Y axis matplotlib.pyplot.locator_params(axis='y', nbins=3) # for X axis matplotlib.pyplot.locator_params(axis='x', nbins=3) # for both, x-axis and y-axis: Default matplotlib.pyplot.locator_params(nbins=3)Reducing the maximum number of ticks and use tight bounds:
plt.locator_params(tight=True, nbins=4)Example 1:
# importing libraries
import matplotlib.pyplot as plt
# Y-axis Values
y =[-1, 4, 9, 16, 25]
# X-axis Values
x =[1, 2, 3, 4, 5]
plt.locator_params(axis ='x', nbins = 5)
# adding grid to the plot
axes = plt.axes()
axes.grid()
# defining the plot
plt.plot(x, y, 'mx', color ='green')
# range of y-axis in the plot
plt.ylim(ymin =-1.2, ymax = 30)
# Set the margins
plt.margins(0.2)
# printing the plot
plt.show()

# importing libraries
import matplotlib.pyplot as plt
# defining the function
def for_lines(xlab, ylab, plot_title,
size_x, size_y, content =[]):
width = len(content[0][1:])
s = [x for x in range(1, width + 1)]
# specifying the size of figure
plt.figure(figsize =(size_x, size_y))
for line in content:
plt.plot(s, line[1:], 'ro--',
color ='green',
label = line[0])
# to add title to the plot
plt.title(plot_title)
# for adding labels to the plot
plt.xlabel(xlab)
plt.ylabel(ylab)
t = len(s)
plt.locator_params(nbins = t)
for_lines("x-axis", "y-axis",
"GeeksForGeeks", 7, 7,
[[1, 2, 4, 3, 5]])

# importing libraries
import matplotlib.pyplot as plt
plt.locator_params(nbins = 10)
# defining the plot
plt.plot([1, 2, 3, 5, 7],
[2, 3, 9, 15, 16],
'ro-', color ='red')
# printing the plot
plt.show()
