有没有办法画一个图表来表示公式/条件语句中变量的关系?

问题描述

我有一个这样的算法:

library(dplyr)
df %>% 
    dplyr::filter(ID %in% c(1,2,5,7,9))

我想将变量之间的关系表示为数据流或树形图。类似于 this

我有一堆这样的公式要定期更新,所以想找到一种方法来以编程方式而不是手动绘制。 Python 或 SPSS 中有没有这样的库可以这样做?

解决方法

探索networkx。您必须安装 networkx 软件包和 graphviz 程序:

import matplotlib.pyplot as plt
import networkx as nx
from networkx.drawing.nx_agraph import graphviz_layout

relations = [('B','A'),('C',('A','D'),('E',('D','F')]

# Create graph and add egdes
G = nx.DiGraph()
G.add_edges_from(relations)

pos = graphviz_layout(G,prog='dot')
nx.draw(G,pos,with_labels=True,arrows=True)
plt.show()

enter image description here