Rotate axis tick labels in Seaborn and Matplotlib

25 Feb, 2021
Seaborn and Matplotlib both are commonly used libraries for data visualization in Python.  We can draw various types of plots using Matplotlib like scatter, line, bar, histogram, and many more. On the other hand, Seaborn provides a variety of visualization patterns. It uses easy syntax and has easily interesting default themes. It specializes in statistics visualization.
Creating a basic plot in Matplotlib
Python3
import numpy as npimport matplotlib.pyplot as plt  data = {'Cristopher': 20, 'Agara': 15, 'Jayson': 30,        'Peter': 35}names = list(data.keys())age = list(data.values())  fig = plt.figure(figsize=(10, 5))  # creating the bar plotplt.bar(names, age, color='blue', width=0.4)  plt.xlabel("Names")plt.ylabel("Age of the person")plt.show()
Output:
Creating basic plot in Seaborn
Python3
import seaborn as snsimport matplotlib.pyplot as plt  sns.barplot(x=["Asia", "Africa", "Antartica", "Europe"],            y=[90, 60, 30, 10])  plt.show()
Output:
While plotting these plots one problem arises -the overlapping of x labels or y labels which causes difficulty to read what is on x-label and what is on y-label. So we solve this problem by Rotating x-axis labels or y-axis labels.
Rotating X-axis Labels in Matplotlib
We use plt.xticks(rotation=#) where # can be any angle by which we want to rotate the x labels
Python3
import numpy as npimport matplotlib.pyplot as plt  data = {'Cristopher': 20, 'Agara': 15, 'Jayson': 30,        'Peter': 35}names = list(data.keys())age = list(data.values())  fig = plt.figure(figsize=(10, 5))  # creating the bar plotplt.bar(names, age, color='blue', width=0.4)  plt.xlabel("Names")plt.xticks(rotation=45)plt.ylabel("Age of the person")plt.show()
Output:
Rotating X-axis Labels in Seaborn
By using FacetGrid we assign barplot to variable ‘g’ and then we call the function set_xticklabels(labels=#list of labels on x-axis, rotation=*) where * can be any angle by which we want to rotate the x labels
Python3
import seaborn as snsimport matplotlib.pyplot as plt  g = sns.barplot(x=["Asia", "Africa", "Antartica", "Europe"],                y=[90, 30, 60, 10])g.set_xticklabels(    labels=["Asia", "Africa", "Antartica", "Europe"], rotation=30)# Show the plotplt.show()
Output:
Rotating Y-axis Labels in Matplotlib
We use plt.xticks(rotation=#) where # can be any angle by which we want to rotate the y labels
Python3
import numpy as npimport matplotlib.pyplot as plt  data = {'Cristopher': 20, 'Agara': 15, 'Jayson': 30,        'Peter': 35}courses = list(data.keys())values = list(data.values())  fig = plt.figure(figsize=(8, 5))  # creating the bar plotplt.bar(courses, values, color='blue', width=0.4)plt.yticks(rotation=45)plt.xlabel("Names")plt.ylabel("Age of the person")plt.show()
Output:
Rotating Y-axis Labels in Seaborn
By using FacetGrid we assign barplot to variable ‘g’ and then we call the function set_yticklabels(labels=#the scale we want for y label, rotation=*) where * can be any angle by which we want to rotate the y labels
Python3
import seaborn as snsimport matplotlib.pyplot as plt  g = sns.barplot(x=["Asia", "Africa", "Antartica", "Europe"],                y=[90, 30, 60, 10])  g.set_yticklabels(labels=[0, 20, 40, 60, 80], rotation=30)  # Show the plotplt.show()
Output:
Picked
Python-matplotlib
Python-Seaborn
Technical Scripter 2020
Python
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.