Note
Click here to download the full example code
Gramian Angular FieldΒΆ
This example shows how you can transform a time series into a Gramian Angular
Field using pyts.image.GramianAngularField. Two methods are
available: Gramian Angular Summation Field and Gramian Angular Difference
Field.
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid
from pyts.image import GramianAngularField
from pyts.datasets import load_gunpoint
# Parameters
X, _, _, _ = load_gunpoint(return_X_y=True)
# Transform the time series into Gramian Angular Fields
gasf = GramianAngularField(image_size=24, method='summation')
X_gasf = gasf.fit_transform(X)
gadf = GramianAngularField(image_size=24, method='difference')
X_gadf = gadf.fit_transform(X)
# Show the images for the first time series
fig = plt.figure(figsize=(12, 7))
grid = ImageGrid(fig, 111,
nrows_ncols=(1, 2),
axes_pad=0.15,
share_all=True,
cbar_location="right",
cbar_mode="single",
cbar_size="7%",
cbar_pad=0.3,
)
images = [X_gasf[0], X_gadf[0]]
titles = ['Gramian Angular Summation Field',
'Gramian Angular Difference Field']
for image, title, ax in zip(images, titles, grid):
im = ax.imshow(image, cmap='rainbow', origin='lower')
ax.set_title(title, fontdict={'fontsize': 16})
ax.cax.colorbar(im)
ax.cax.toggle_label(True)
plt.suptitle('Gramian Angular Fields', y=0.92, fontsize=20)
plt.show()
Total running time of the script: ( 0 minutes 3.108 seconds)