在之前 CSDN 上的一篇博客 —— 将一维时间序列转化成二维图片中,我翻译了一篇文章,说的是将一个时间序列信号转换成二维图片:
然后在文章的最后发了一个 Github 代码,这个代码是原文作者的代码,有人反应代码不能跑起来。
这里我使用 Python 的一个第三方库 pyts,参考官方文档,改写了一下。测试了一下,可以在 Pyhon3.7 上成功运行。
1. 准备一维时间序列
我使用 MATLAB 生成了一个 sin x 的时间序列图,plot 出来是这样的:
sinx
总共有 512 个点,也就是最大能够生成 512*512 的图片。
要把生成的图片保存为 .csv 文件:
2. 转换成图片
接下来就是简单地转换成二维图片了,先贴代码吧,或者可以在我的 Github 上下载,里面有批量处理和保存 GAF 图片的代码:
import numpy as np
import matplotlib.pyplot as plt
from pyts.image import GASF, GADF
x = np.loadtxt(open("sinx.csv","rb"),delimiter=",",skiprows=0).T
# print(type(x),x.shape)
X &