visibility_graph#
- visibility_graph(series)[source]#
返回输入时间序列的可视图(Visibility Graph)。
可视图将时间序列转换为图。构建的图使用整数节点来表示序列中的哪个事件。边形成如下:考虑序列的条形图,并将其视为景观的侧面视图,每个条形的顶部有一个节点。边的意思是节点可以通过一条直线“视线”连接,而不会被节点之间的任何条形遮挡。
生成的图在其结构中继承了序列的几个属性。因此,周期性序列转换为规则图,随机序列转换为随机图,分形序列转换为无标度网络 [1]。
- Parameters:
- seriesSequence[Number]
一个数值序列(可迭代且可切片),表示时间。
- Returns:
- NetworkX Graph
输入序列的可视图
References
[1]Lacasa, Lucas, Bartolo Luque, Fernando Ballesteros, Jordi Luque, and Juan Carlos Nuno. “From time series to complex networks: The visibility graph.” Proceedings of the National Academy of Sciences 105, no. 13 (2008): 4972-4975. https://www.pnas.org/doi/10.1073/pnas.0709247105
Examples
>>> series_list = [range(10), [2, 1, 3, 2, 1, 3, 2, 1, 3, 2, 1, 3]] >>> for s in series_list: ... g = nx.visibility_graph(s) ... print(g) Graph with 10 nodes and 9 edges Graph with 12 nodes and 18 edges