# Matplotlib.pyplot.table() function in Python

• Last Updated : 10 Oct, 2021

Matplotlib.pyplot.table() is a subpart of matplotlib library in which a table is generated using the plotted graph for analysis. This method makes analysis easier and more efficient as tables give a precise detail than graphs. The matplotlib.pyplot.table creates tables that often hang beneath stacked bar charts to provide readers insight into the data generated by the above graph.

Syntax: matplotlib.pyplot.table(cellText=None, cellColours=None, cellLoc=’right’, colWidths=None,rowLabels=None, rowColours=None, rowLoc=’left’, colLabels=None, colColours=None, colLoc=’center’, loc=’bottom’, bbox=None, edges=’closed’, **kwargs)

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. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Example 1: Consider a graph analyzing the increase in price of crops in months. The following code is for a non linear graph.

## Python3

 `# importing necessary packagess``import` `numpy as np``import` `matplotlib.pyplot as plt`  `# input data values``data ``=` `[[``322862``, ``876296``, ``45261``, ``782372``,  ``32451``],``        ``[``58230``, ``113139``,  ``78045``,  ``99308``, ``516044``],``        ``[``89135``,  ``8552``, ``15258``, ``497981``, ``603535``],``        ``[``24415``,  ``73858``, ``150656``, ``19323``,  ``69638``],``        ``[``139361``, ``831509``, ``43164``, ``7380``,  ``52269``]]` `# preparing values for graph``columns ``=` `(``'Soya'``, ``'Rice'``, ``'Wheat'``, ``'Bakri'``, ``'Ragi'``)``rows ``=` `[``'%d months'` `%` `x ``for` `x ``in` `(``50``, ``35``, ``20``, ``10``, ``5``)]``values ``=` `np.arange(``0``, ``2500``, ``500``)``value_increment ``=` `1000` `# Adding pastel shades to graph``colors ``=` `plt.cm.Oranges(np.linspace(``22``, ``3``, ``12``))``n_rows ``=` `len``(data)``index ``=` `np.arange(``len``(columns)) ``+` `0.3``bar_width ``=` `0.4` `# Initialing vertical-offset for the graph.``y_offset ``=` `np.zeros(``len``(columns))` `# Plot bars and create text labels for the table``cell_text ``=` `[]` `for` `row ``in` `range``(n_rows):``    ``plt.plot(index, data[row], bar_width, color``=``colors[row])``    ``y_offset ``=` `y_offset ``+` `data[row]``    ``cell_text.append([``'%1.1f'` `%` `(x ``/` `1000.0``) ``for` `x ``in` `y_offset])` `# Reverse colors and text labels to display table contents with``# color.``colors ``=` `colors[::``-``1``]``cell_text.reverse()` `# Add a table at the bottom``the_table ``=` `plt.table(cellText``=``cell_text,``                      ``rowLabels``=``rows,``                      ``rowColours``=``colors,``                      ``colLabels``=``columns,``                      ``loc``=``'bottom'``)` `# make space for the table:``plt.subplots_adjust(left``=``0.2``, bottom``=``0.2``)``plt.ylabel(``"Price in Rs.{0}'s"``.``format``(value_increment))``plt.yticks(values ``*` `value_increment, [``'%d'` `%` `val ``for` `val ``in` `values])``plt.xticks([])``plt.title(``'Cost price increase'``)` `# plt.show()-display graph``# Create image. plt.savefig ignores figure edge and face color.``fig ``=` `plt.gcf()``plt.savefig(``'pyplot-table-original.png'``,``            ``bbox_inches``=``'tight'``,``            ``dpi``=``150``)`

Output:

Example 2: Let’s consider the rise in price of milk of different brands in past years

## Python3

 `# importing necessary packagess``import` `numpy as np``import` `matplotlib.pyplot as plt`  `# input data values``data ``=` `[[``322862``, ``876296``, ``45261``, ``782372``,  ``32451``],``        ``[``58230``, ``113139``,  ``78045``,  ``99308``, ``516044``],``        ``[``89135``,  ``8552``, ``15258``, ``497981``, ``603535``],``        ``[``24415``,  ``73858``, ``150656``, ``19323``,  ``69638``],``        ``[``139361``, ``831509``, ``43164``, ``7380``,  ``52269``]]` `# preparing values for graph``columns ``=` `(``'Gokul'``, ``'Kwality'``, ``'Bakhri'``, ``'Arun'``, ``'Amul'``)``rows ``=` `[``'%d months'` `%` `x ``for` `x ``in` `(``50``, ``35``, ``20``, ``10``, ``5``)]``values ``=` `np.arange(``0``, ``2500``, ``500``)``value_increment ``=` `1000` `# Adding pastel shades to graph``colors ``=` `plt.cm.Oranges(np.linspace(``22``, ``3``, ``12``))``n_rows ``=` `len``(data)``index ``=` `np.arange(``len``(columns)) ``+` `0.3``bar_width ``=` `0.4` `# Initialing vertical-offset for the graph.``y_offset ``=` `np.zeros(``len``(columns))` `# Plot bars and create text labels for the table``cell_text ``=` `[]``for` `row ``in` `range``(n_rows):``    ``plt.bar(index, data[row], bar_width, bottom``=``y_offset, color``=``colors[row])``    ``y_offset ``=` `y_offset ``+` `data[row]``    ``cell_text.append([``'%1.1f'` `%` `(x ``/` `1000.0``) ``for` `x ``in` `y_offset])` `# Reverse colors and text labels to display table contents with``# color.``colors ``=` `colors[::``-``1``]``cell_text.reverse()` `# Add a table at the bottom``the_table ``=` `plt.table(cellText``=``cell_text,``                      ``rowLabels``=``rows,``                      ``rowColours``=``colors,``                      ``colLabels``=``columns,``                      ``loc``=``'bottom'``)` `# make space for the table:``plt.subplots_adjust(left``=``0.2``, bottom``=``0.2``)``plt.ylabel(``"Rise in Rs's"``.``format``(value_increment))``plt.yticks(values ``*` `value_increment, [``'%d'` `%` `val ``for` `val ``in` `values])``plt.xticks([])``plt.title(``'Cost of Milk od diff. brands'``)` `# plt.show()-display graph``# Create image. plt.savefig ignores figure edge and face color.``fig ``=` `plt.gcf()``plt.savefig(``'pyplot-table-original.png'``,``            ``bbox_inches``=``'tight'``,``            ``dpi``=``150``)`

Output:

My Personal Notes arrow_drop_up