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:
- localizador: Determina las ubicaciones de ticks al trazar fechas.
- tz: contiene la información de la zona horaria
- 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