Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.
matplotlib.ticker.IndexFormatter
The matplotlib.ticker.IndexFormatter
class is a subclass of matplotlib.ticker
class and is used to format the position x that is the nearest i-th label where i = int(x + 0.5). The positions with i len(list) have 0 tick labels.
Syntax: class matplotlib.ticker.IndexFormatter(labels)
Parameter :
- labels: It is a list of labels.
Example 1:
import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl # create dummy data x = [ 'str{}' . format (k) for k in range ( 20 )] y = np.random.rand( len (x)) # create an IndexFormatter # with labels x x_fmt = mpl.ticker.IndexFormatter(x) fig,ax = plt.subplots() ax.plot(y) # set our IndexFormatter to be # responsible for major ticks ax.xaxis.set_major_formatter(x_fmt) |
Output:
Example 2:
from matplotlib.ticker import IndexFormatter, IndexLocator import pandas as pd import matplotlib.pyplot as plt years = range ( 2015 , 2018 ) fields = range ( 4 ) days = range ( 4 ) bands = [ 'R' , 'G' , 'B' ] index = pd.MultiIndex.from_product( [years, fields], names = [ 'year' , 'field' ]) columns = pd.MultiIndex.from_product( [days, bands], names = [ 'day' , 'band' ]) df = pd.DataFrame( 0 , index = index, columns = columns) df.loc[( 2015 , ), ( 0 , )] = 1 df.loc[( 2016 , ), ( 1 , )] = 1 df.loc[( 2017 , ), ( 2 , )] = 1 ax = plt.gca() plt.spy(df) xbase = len (bands) xoffset = xbase / 2 xlabels = df.columns.get_level_values( 'day' ) ax.xaxis.set_major_locator(IndexLocator(base = xbase, offset = xoffset)) ax.xaxis.set_major_formatter(IndexFormatter(xlabels)) plt.xlabel( 'Day' ) ax.xaxis.tick_bottom() ybase = len (fields) yoffset = ybase / 2 ylabels = df.index.get_level_values( 'year' ) ax.yaxis.set_major_locator(IndexLocator(base = ybase, offset = yoffset)) ax.yaxis.set_major_formatter(IndexFormatter(ylabels)) plt.ylabel( 'Year' ) plt.show() |
Output:
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.