Los ejes en todos los gráficos que utilizan Matplotlib son lineales de forma predeterminada, yscale() y xscale() método de la biblioteca matplotlib.pyplot se puede utilizar para cambiar la escala del eje y o del eje x a logarítmica, respectivamente.
El método yscale() o xscale() toma como parámetro un solo valor que es el tipo de conversión de la escala, para convertir ejes a escala logarítmica le pasamos la palabra clave “log” o matplotlib.scale. clase LogScale al método yscale o xscale.
sintaxis del método xscale:
Sintaxis: matplotlib.pyplot.xscale(valor, **kwargs)
Parámetros:
- Valor = { “lineal”, “log”, “symlog”, “logit”, … }
- **kwargs = Se aceptan diferentes argumentos de palabras clave, según la escala (matplotlib.scale.LinearScale, LogScale, SymmetricalLogScale, LogitScale)
Devoluciones: Convierte los ejes x al tipo de escala dado. (Aquí usamos el tipo de escala «log»)
sintaxis del método yscale:
Sintaxis: matplotlib.pyplot.yscale(valor, **kwargs)
Parámetros:
- valor = { «lineal», «log», «symlog», «logit», … }
- **kwargs = Se aceptan diferentes argumentos de palabras clave, según la escala (matplotlib.scale.LinearScale, LogScale, SymmetricalLogScale, LogitScale)
Devoluciones : Convierte los ejes y al tipo de escala dado. (Aquí usamos el tipo de escala «log»)
A continuación se muestra la implementación para convertir el eje y y el eje x a escala logarítmica respectivamente.
Ejemplo 1: Sin Ejes Logarítmicos.
Python3
import matplotlib.pyplot as plt # exponential function y = 10^x data = [10**i for i in range(5)] plt.plot(data)
Producción:
Ejemplo 2: Escala logarítmica del eje y.
Python3
import matplotlib.pyplot as plt # exponential function y = 10^x data = [10**i for i in range(5)] # convert y-axis to Logarithmic scale plt.yscale("log") plt.plot(data)
Producción:
Ejemplo 3: Escala logarítmica del eje x.
Python3
import matplotlib.pyplot as plt # exponential function x = 10^y datax = [ 10**i for i in range(5)] datay = [ i for i in range(5)] #convert x-axis to Logarithmic scale plt.xscale("log") plt.plot(datax,datay)
Producción: