根据7个不同的分类值对颜色编码节点进行问题处理

时间:2019-04-26 15:45:58

标签: r igraph

我正在创建一个基于Twitter数据集的社交网络图。我计算了推文的情感分析得分,我想根据情感得分对节点进行颜色编码。我想使用7种不同的分类值,我希望使用不同的颜色来表示每个情感得分。情绪值是“中性”,“有点积极”,“积极”,“非常积极”,“有点消极”,“消极”和“非常消极”。我在R中使用igraph来完成此操作,但我得到了一个更简单的版本,其中只有两个情感状态起作用,即“正”和“负”。这是我用于该图的代码:

V(rt_graph)$color <- ifelse(tweets[V(rt_graph), 2] == "positive", "blue", "red")

我试图为每个具有不同情感值的节点分配不同的颜色,但是我并没有成功地弄清楚该怎么做。有人可以让我朝正确的方向前进吗?这是我尝试使用的内容:

V(rt_graph)$color(tweets$score[V(rt_graph) == 'Negative']) <- 'orangered3'

1 个答案:

答案 0 :(得分:0)

您没有提供任何数据,因此我将用合成图进行说明。

library(igraph)
set.seed(1234)
g = erdos.renyi.game(40, 0.15)
SLevels = c("neutral", "somewhat positive", "positive", 
    "very positive", "somewhat negative", "negative", "very negative" )
sentiment = factor(sample(SLevels, 40, replace=T))

现在为七种情感水平分配七种不同的颜色,您可以使用:

ColorList = c("yellow", "darkblue", "lightblue", "green", 
    "orange", "pink", "red")
V(g)$color = ColorList[sentiment]
plot(g, vertex.size=10, vertex.label="")

Graph with multi-colored nodes

由于我的图表中的情感是随机分配的,因此没有实际意义。希望在您的数据中会更有意义。