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.datestr2num()
The matplotlib.dates.datestr2num()
function is used to convert a date string to a datenum by the uses of dateutil.parser.parser()
.
Syntax: matplotlib.dates.datestr2num(d, default=None)
Parameters:
- d: It is a string or a sequence of strings representing the dates.
- default: This is an optional parameter that is a datetime instance. This is used when fields are not present in d, as a default.
Example 1:
from datetime import datetime import matplotlib.pyplot as plt from matplotlib.dates import ( DateFormatter, AutoDateLocator, AutoDateFormatter, datestr2num ) days = [ '30/01/2019' , '31/01/2019' , '01/02/2019' , '02/02/2019' , '03/02/2019' , '04/02/2019' ] data1 = [ 2 , 5 , 13 , 6 , 11 , 7 ] data2 = [ 6 , 3 , 10 , 3 , 6 , 5 ] z = datestr2num([ datetime.strptime(day, '%d/%m/%Y' ).strftime( '%m/%d/%Y' ) for day in days ]) r = 0.25 figure = plt.figure(figsize = ( 8 , 4 )) axes = figure.add_subplot( 111 ) axes.bar(z - r, data1, width = 2 * r, color = 'g' , align = 'center' , tick_label = day) axes.bar(z + r, data2, width = 2 * r, color = 'y' , align = 'center' , tick_label = day) axes.xaxis_date() axes.xaxis.set_major_locator( AutoDateLocator(minticks = 3 , interval_multiples = False )) axes.xaxis.set_major_formatter(DateFormatter( "%d/%m/%y" )) plt.show() |
Output:
Example 2:
import matplotlib import matplotlib.pyplot as plt import matplotlib.dates dates = [ '1920-05-06' , '1920-05-07' , '1947-05-08' , '1920-05-09' ] converted_dates = matplotlib.dates.datestr2num(dates) x_axis = (converted_dates) y_axis = range ( 0 , 4 ) plt.plot_date( x_axis, y_axis, '-' ) plt.show() |
Output: