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()
Post a Comment for "How To Convert It Back To Datetime Format?"