我正在使用R编程语言。
我正在尝试制作一个网络/树可视化,以显示位于我的计算机上的所有文件夹、目录和文件。
我发现以下代码可以列出我计算机上的所有文件/文件夹:
dirs <- list.dirs(path = ".", full.names = TRUE, recursive = TRUE)
字符串
从这里,我想制作一个网络图可视化(例如使用igraph)来显示所有文件夹,目录和文件的路径:
https://www.reddit.com/r/dataisbeautiful/comments/ajcb4n/i_made_a_graph_visualization_of_my_projects/
我在这里找到了这篇文章,它展示了如何在有限的设置下做到这一点:How to build a dendrogram from a directory tree?
但我试图直接这样做,为这个声明
dirs <- list.dirs(path = ".", full.names = TRUE, recursive = TRUE)
型
有人能教我怎么做吗?
谢谢你,谢谢
我的尝试:
library(igraph)
library(data.tree)
dirs <- list.dirs(path = ".", full.names = TRUE, recursive = TRUE)
edges <- data.frame(from = dirname(dirs), to = basename(dirs), stringsAsFactors = FALSE)
g <- graph_from_data_frame(edges, directed=TRUE)
plot(g, layout=layout_as_tree)
型
2条答案
按热度按时间m1m5dgzv1#
你可以使用
tidygraph
和ggraph
来实现:字符串
的数据
avwztpqn2#
我有几个要点:首先,你的树没有正确地生成,因为dirnames没有给予目录的名称,而是整个名称。
您可以通过在
edges
data.frame的定义中省略basename
函数来解决此问题。这也可能有助于处理重复的文件夹名称。您仍然可以使用字符串
第二,如果你想拥有所有的文件和目录,你的第一行可能应该是
型
最后,在绘图时,你可能应该添加树的根:
型
我真的不能帮助制作一个漂亮的图表,但我希望这无论如何都能有所帮助。
整个代码是:
型