Skip to content Skip to sidebar Skip to footer

How To Convert It Back To Datetime Format?

I wanted to perform arithmetic operations on dates so i converted these dates idx_1 = 2017-06-07 00:00:00 idx_2 = 2017-07-27 00:00:00 to floats using, x1 = time.mktime(idx_1.time

Solution 1:

Starting with datetime objects you may use matplotlib's date2num and num2date functions to convert to and from numerical values. The advantage is that the numerical data is then understood by matplotlib.dates locators and formatters.

import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates

idx_1 = datetime.datetime(2017,06,07,0,0,0)
idx_2 = datetime.datetime(2017,07,27,0,0,0)

idx = [idx_1, idx_2]

y1 = 155.98
y2 = 147.07

x = matplotlib.dates.date2num(idx)
y = [y1, y2]
Difference = x[1] - x[0] #this helps to end the plotted line at specific point
coefficients = np.polyfit(x, y, 1)
polynomial = np.poly1d(coefficients)
# the np.linspace lets you set number of data points, line length.
x_axis = np.linspace(x[0], x[1] + Difference, 3)  # linspace(start, end, num)
y_axis = polynomial(x_axis)
plt.plot(x_axis, y_axis)
plt.plot(x[0], y[0], 'go')
plt.plot(x[1], y[1], 'go')

loc= matplotlib.dates.AutoDateLocator()
plt.gca().xaxis.set_major_locator(loc)
plt.gca().xaxis.set_major_formatter(matplotlib.dates.AutoDateFormatter(loc))
plt.gcf().autofmt_xdate()
plt.show()

enter image description here

Post a Comment for "How To Convert It Back To Datetime Format?"