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: