Hide Axis, Borders and White Spaces in Matplotlib

11 Dec, 2020
When we draw plots using Matplotlib, the ticks and labels along x-axis & y-axis are drawn too.  For drawing creative graphs, many times we hide x-axis & y-axis.
The matplotlib.pyplot.axis(‘off’) command us used to hide the axis(both x-axis & y-axis) in the matplotlib figure.
Example:
Let us consider the following figure in which we have to hide the axis.
Python3
# codeimport numpy as npimport matplotlib.pyplot as plt  # Marks of RAM in different subjects out of 100.x = ['Science', 'Maths', 'English', 'History', 'Geography']y = [75, 85, 88, 78, 74]  plt.bar(x, y)plt.xlabel("Subject")plt.ylabel("Ram's marks out of 100")plt.show()
Output:
Example:
 Hiding the axis in the above figure.
Python3
# codeimport numpy as npimport matplotlib.pyplot as plt  # Marks of RAM in different subjects out of 100.x = ['Science', 'Maths', 'English', 'History', 'Geography']y = [75, 85, 88, 78, 74]  plt.xlabel("Subject")plt.ylabel("Ram's marks out of 100")plt.bar(x, y)plt.axis('off')  # command for hiding the axis.  plt.show()
Output:
If we just want to turn either the X-axis or Y-axis off, we can use  plt.xticks( ) or plt.yticks( )  method respectively.
Example:
Hiding Y-axis
Python3
# Hiding Y-axis labelimport numpy as npimport matplotlib.pyplot as plt  # Marks of RAM in different subjects out of 100.x = ['Science', 'Maths', 'English', 'History', 'Geography']y = [75, 85, 88, 78, 74]  plt.bar(x, y)plt.xlabel("Subject")plt.ylabel("Ram's marks out of 100")plt.yticks([])  # Command for hiding y-axis  plt.show()
Output:
Example:
 Hiding X-axis 
Python3
# Hiding X-axisimport numpy as npimport matplotlib.pyplot as plt  # Marks of RAM in different subjects out of 100.x = ['Science', 'Maths', 'English', 'History', 'Geography']y = [75, 85, 88, 78, 74]  plt.bar(x, y)plt.xlabel("Subject")plt.ylabel("Ram's marks out of 100")plt.xticks([])  # Command for hiding x-axis  plt.show()
Output:
When we use plt.axis(‘off’) command it hides the axis, but we get whitespaces around the image’s border while saving it. To remove/hide whitespace around the border, we can set bbox_inches=’tight’ in the savefig() method. 
Similarly, to remove the white border around the image while we set pad_inches = 0 in the savefig() method.
Example:
Python3
# codeimport numpy as npimport matplotlib.pyplot as plt  # Marks of RAM in different subjects out of 100.x = ['Science', 'Maths', 'English', 'History', 'Geography']y = [75, 85, 88, 78, 74]  fig = plt.bar(x, y)plt.xlabel("Subject")plt.ylabel("Ram's marks out of 100")plt.axis('off')# Command used for hiding whitespaces and border.plt.savefig('image.png', bbox_inches='tight', pad_inches=0)  plt.show()
Output:
Note: If you have noticed that when we use plt.axis(‘off’) it automatically hides the Axis, Whitespaces and Borders.
Python-matplotlib
Technical Scripter 2020
Python
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
How to get column names in Pandas dataframe
Python Dictionary
Different ways to create Pandas Dataframe
Taking input in Python
Enumerate() in Python
Read a file line by line in Python
Python String | replace()