Используя поле Граманиан angular (GAF), вы можете преобразовать данные временных рядов в изображения RGB для классификации с помощью сетей Connet (CNN). GAF временных рядов представляет собой матрицу, содержащую полярные координаты временного ряда. Количество столбцов и строк матрицы равно количеству отметок времени в данных временных рядов.
Используя функцию imshow () библиотеки matplotlib, вы можете создать rgb-изображение матрицы GAF
GAF = gramian_angular_field(data)
fig = plt.figure(figsize=(4, 2))
ax = fig.add_subplot(111)
im = ax.imshow(GAF, cmap='rainbow', origin='lower')
Примечание: функция gramian_angular_field () возвращает numpy матрицу формы 30x30.
Вопрос: Я хотел бы иметь функцию, возвращающую матрицу формы 30x30x3 по заданной матрице GAF с формой 30x30. Где значения матрицы представляют значения rgb.
До сих пор я пробовал следующий подход:
fig = plt.figure(figsize=(4, 2))
ax = fig.add_subplot(111)
im = ax.imshow(GAF, cmap='rainbow', origin='lower')
fig.canvas.draw()
data = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep='')
data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
К сожалению, это возвращает матрицу формы 288x576x3, из-за параметры по фиг.
Буду признателен за любую помощь или решение моей проблемы.
Вот пример вывода ax.imshow ()