Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.
matplotlib.dates.epoch2num()
The matplotlib.dates.epoch2num() function is used to convert an epoch or a sequence of epochs to a new date format from the day since 0001.
Syntax: matplotlib.dates.epoch2num(e)
Parameters:
- e: It can be an epoch or a sequence of epochs.
Returns: A new date format since day 0001.
Example 1:
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() |
Output:
Example 2:
from tkinter import *from tkinter import ttk import time import matplotlib import queue from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk from matplotlib.figure import Figure import matplotlib.animation as animation import matplotlib.dates as mdate     root = Tk()   graphXData = queue.Queue() graphYData = queue.Queue()   def animate(objData):           line.set_data(list(graphXData.queue),                   list(graphYData.queue))           axes.relim()     axes.autoscale_view()   figure = Figure(figsize =(5, 5), dpi = 100) axes = figure.add_subplot(111) axes.xaxis_date()   line, = axes.plot([], []) axes.xaxis.set_major_formatter(mdate.DateFormatter('%H:%M'))   canvas = FigureCanvasTkAgg(figure, root) canvas.get_tk_widget().pack(side = BOTTOM,                             fill = BOTH,                             expand = True)   for cnt in range (600):           graphXData.put(matplotlib.dates.epoch2num(time.time()-(600-cnt)))     graphYData.put(0)   ani = animation.FuncAnimation(figure, animate, interval = 1000)   root.mainloop() |
Output:

