Clase Matplotlib.ticker.LogFormatter en Python

Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia.

matplotlib.ticker.LogFormatter

La matplotlib.ticker.LogFormatterclase se utiliza para dar formato a los ticks en una escala logarítmica o simbólica. Se instancia directamente o se subclasifica.

Sintaxis: class matplotlib.ticker.LogFormatter(base=10.0, labelOnlyBase=False, minor_thresholds=Ninguno, linthresh=Ninguno)

Parámetros:

  • base: es un valor flotante opcional para la base logarítmica utilizada para todos los cálculos. Por defecto es 10.
  • labelOnlyBase: es un valor booleano opcional que, si se establece en True, la etiqueta marca solo las potencias enteras de la base. En general, es Verdadero para los ticks mayores y Falso para los ticks menores. Por defecto es Falso.
  • minor_thresholds: es una tupla opcional de dos valores (es decir, subconjunto, todos). Si labelOnlyBase se establece en False, estos dos números dictan el etiquetado de los ticks que no están en potencias enteras de la base; generalmente estas son las garrapatas menores. El registro del rango de datos del eje es el parámetro de control.
  • linthresh: este parámetro debe proporcionarse si se utiliza una escala logarítmica simétrica.

Métodos de la clase:

  • format_data(self, value): devuelve una representación de string completa no especificada de posición del valor.
  • format_data_short(self, value): Devuelve una representación de string de formato corto de un número.
  • label_minor(self, labelOnlyBase): se utiliza para activar o desactivar el etiquetado de ticks menores.
  • set_locs(self, locs=None): Controla el etiquetado de ticks usando la vista de eje.

Ejemplo 1:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import LogFormatterSciNotation
  
  
class CustomTicker(LogFormatterSciNotation):
  
    def __call__(self, x, pos = None):
  
        if x not in [0.1, 1, 10]:
            return LogFormatterSciNotation.__call__(self, x, pos = None)
  
        else:
            return "{x:g}".format(x = x)
  
  
fig = plt.figure(figsize =[7, 7])
ax = fig.add_subplot(111)
  
ax.set_yscale('log')
ax.set_xscale('log')
  
ax.plot(np.logspace(-4, 4), np.logspace(-4, 4))
  
ax.xaxis.set_major_formatter(CustomTicker())
  
plt.show()

Producción:

Ejemplo 2:

import matplotlib.pyplot as plt
from matplotlib.ticker import LogFormatter
import numpy as np
  
  
fig, axes = plt.subplots(4, figsize =(12, 24))
  
dt = 0.01
t = np.arange(dt, 20.0, dt)
  
# first plot doesn't use a formatter
axes[0].semilogx(t, np.exp(-t / 5.0))
axes[0].set_xlim([0, 25])
axes[0].grid()
  
xlims = [[0, 25], [0.2, 8], [0.6, 0.9]]
  
for ax, xlim in zip(axes[1:], xlims):
  
    ax.semilogx(t, np.exp(-t / 5.0))
    formatter = LogFormatter(labelOnlyBase = False, 
                             minor_thresholds = (2, 0.4))
  
    ax.get_xaxis().set_minor_formatter(formatter)
    ax.set_xlim(xlim)
    ax.grid()
  
plt.show()

Producción:



Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *