这篇文章实现的算法来源于PNAS杂志:
PNAS paper:From time series to complex networks:The visibility graph
代码参考:
# coding: utf-8
import networkx as nx
import matplotlib.pyplot as plt
from itertools import combinations
def visibility_graph(series):
visibility_graph_edges=[]
# convert list of magnitudes into list of tuples that hold the index
tseries = []
n = 1
for magnitude in series:
tseries.append( (n, magnitude ) )
n += 1
for a,b in combinations(tseries, 2):
# two points, maybe connect
(ta, ya) = a #实现(1,2)(1,3)(1,4)(1,5)--(2,3)(2,4)(2,5)--(3,4)(3,5)--(4,5)任意两个边相互比较
(tb, yb) = b
connect = True
medium=