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