Clase Matplotlib.dates.AutoDateFormatter 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.dates.AutoDateFormatter

La clase matplotlib.dates.AutoDateFormatter se utiliza para determinar el mejor formato para la fecha. Esto se usa mejor con AutoDateLocator. Tiene un diccionario que mapea la escala del tick y una string de formato. Por defecto se ve como a continuación:

self.scaled = { 
DAYS_PER_YEAR: rcParams[‘date.autoformat.year’], 
DAYS_PER_MONTH: rcParams[‘date.autoformat.month’], 
1.0: rcParams[‘date.autoformat.day’], 
1. / HOURS_PER_DAY: rcParams [‘date.autoformat.hour’], 
1. / (MINUTES_PER_DAY): rcParams[‘date.autoformat.minute’], 
1. / (SEC_PER_DAY): rcParams[‘date.autoformat.second’], 
1. / ( MUSECONDS_PER_DAY): rcParams[‘fecha.autoformato.microsegundo’], 
}
 

Este algoritmo selecciona la clave en ese diccionario que es mayor o igual que la escala actual y se usa para formatear strings. Este diccionario también se puede personalizar como se muestra a continuación: 

locator = AutoDateLocator()
formatter = AutoDateFormatter(locator)

# only show hour and minute
formatter.scaled[1/(24.*60.)] = '%H:%M'

El formato predeterminado se usa si ningún valor en self.scaled es mayor que la unidad devuelta por locator._get_unit().

Sintaxis: class matplotlib.dates.AutoDateFormatter(locator, tz=Ninguno, defaultfmt=’%Y-%m-%d’)

Parámetros: 

  1. localizador: Determina las ubicaciones de ticks al trazar fechas.
  2. tz: contiene la información de la zona horaria
  3. defaultfmt: si ningún formato coincide con el requisito, este formato se usa como predeterminado en el formato años-meses-días. 

Ejemplo 1:  

Python3

import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import AutoDateLocator, AutoDateFormatter, date2num
 
# make my own data:
date = '2020-02-23'
low = 10
 
# how to format dates:
date_datetime = datetime.datetime.strptime(date, '% Y-% m-% d')
int_date = date2num( date_datetime)
 
# create plots:
figure, axes = plt.subplots()
 
# plot data:
axes.bar(int_date, low, label ="", color ="green")
 
# format date
locator = AutoDateLocator()
axes.xaxis.set_major_locator(locator)
axes.xaxis.set_major_formatter( AutoDateFormatter(locator) )
 
# apply autoformatter for displaying of dates
min_date = date2num( datetime.datetime.strptime('2020-02-16', '% Y-% m-% d') )
max_date = date2num( datetime.datetime.strptime('2020-02-28', '% Y-% m-% d') )
axes.set_xlim([min_date, max_date])
figure.autofmt_xdate()
 
# show plot:
plt.show()

Producción: 

Ejemplo 2: 

Python3

import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
 
# generate some random data for
# approx 5 yrs
random_data = [float(random.randint(1487517521,
                                    14213254713))
               for _ in range(1000)]
 
# convert the epoch format to
# matplotlib date format
mpl_data = mdates.epoch2num(random_data)
 
# plotting the graph
fig, axes = plt.subplots(1, 1)
axes.hist(mpl_data, bins = 51, color ='green')
 
locator = mdates.AutoDateLocator()
 
axes.xaxis.set_major_locator(locator)
axes.xaxis.set_major_formatter(mdates.AutoDateFormatter(locator))
 
plt.show()

Producción: 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *