Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Matplotlib.pyplot.yscale() in Python

  • Last Updated : 12 Nov, 2020

Matplotlib Is a library in Python and it is a numerical – mathematical extension for the NumPy library. Pyplot Is a state-based interface to a Matplotlib module which provides a MATLAB-like interface.

matplotlib.pyplot.yscale() in Python

The matplotlib.pyplot.yscale() function in pyplot module of matplotlib library is used to set the y-axis scale.

Syntax: matplotlib.pyplot.yscale(value, **kwargs)

Parameters:

value = { “linear”, “log”, “symlog”, “logit”, … }

These are various axis scale to apply.

 **kwargs = Different keyword arguments are accepted, depending on the scale (matplotlib.scale.LinearScale, LogScale, SymmetricalLogScale, LogitScale)

Example 1:

Python3




import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
  
# Example 1
y = np.random.randn(50)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
  
# plot with various axes scales
plt.figure()
  
# linear
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)
  
  
# log
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)
  
  
plt.show()

Output:

yscale plots for linear and log

Example 2:

Python3




import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import time
%matplotlib inline
  
# Example 2
# useful for `logit` scale
from matplotlib.ticker import NullFormatter
  
# Fixing random state for reproducibility
np.random.seed(100)
  
# make up some data in the
# interval ]0, 1[
y = np.random.normal(loc=0.5
                     scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
  
# plot with various axes scales
plt.figure()
  
# symmetric log
plt.subplot(221)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)
  
# logit
plt.subplot(222)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)
  
plt.gca().yaxis.set_minor_formatter(NullFormatter())
  
# Adjust the subplot layout, because
# the logit one may take more space
# than usual, due to y-tick labels like "1 - 10^{-3}"
plt.subplots_adjust(top=0.80, bottom=0.03
                    left=0.15, right=0.92,
                    hspace=0.34,wspace=0.45)
  
plt.show()

Output:

yscale plots for symlog and logit

 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


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!