繁体   English   中英

R程序绘制图形即网络图

[英]R program to draw a graph i.e network diagram

我有一个包含 20 部电影、它们的类型和评分的数据集。 我想绘制一个网络图,其中所有电影采用一种颜色,所有类型采用另一种颜色,边缘从流派到电影,宽度等于收视率值。

数据集示例:

From (genre)  to(movie)    weight
fantasy       ironman      6.3

也许您可以尝试将igraph转换为 plot 如下所示的二分图

library(igraph)

set.seed(1)
g <- graph_from_data_frame(df)
V(g)$type <- V(g)$name %in% df$genre
E(g)$weight <- df$weight
V(g)$color <- V(g)$type
V(g)$color=gsub("FALSE","red",V(g)$color)
V(g)$color=gsub("TRUE","green",V(g)$color)
plot(g, edge.color="gray30",edge.width=E(g)$weight, layout=layout_as_bipartite)

这使

在此处输入图像描述

虚拟数据

set.seed(1)
df <- data.frame(
    genre = sample(paste0("g",1:5),10,replace = TRUE),
    movie = sample(paste0("m",1:10),10),
    weight = 10*runif(10)
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM