Open In App

Matplotlib.pyplot.yscale() in Python

Last Updated : 12 Nov, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads