R - iGraph 不绘制 ("invalid RGB specification")
R - iGraph does not plot ("invalid RGB specification")
我正在尝试可视化具有两种类型节点的大型网络(投资者对公司进行投资)。为了增加可见性,我想根据边缘结束的节点为边缘着色。
edge.end <- get.edges(g, 1:ecount(g))[,1] # g is my igraph element
E(g)$color <- V(g)$color[edge.end] # edge color based on vector color
这非常有效 returns 32,000+ 十六进制颜色代码。
[1] "#FFF5F0" "#FFF5F0" "#FFF5F0" ...
由于图表现在非常拥挤,我想根据各自的投资规模使边缘透明。透明度应介于 0.5 和 1 之间。
为此,我使用 GISTools:
E(g)$color <- add.alpha(E(g)$color, ((0.5*(E(g)$Invested.Amount.in.EUR - min(E(g)$Invested.Amount.in.EUR))) / (max(E(g)$Invested.Amount.in.EUR)-min(E(g)$Invested.Amount.in.EUR)))+0.5)
这似乎有效 returns:
[1] "#FFF5F0BF" "#FFF5F0B3" "#FFF5F099" ...
但是,当我现在使用以下代码绘制图形时(在添加透明度之前运行良好)
pdf('all.pdf')
plot(g, layout = layout_with_fr(g, niter = 1000, weights = E(g)$width))
dev.off()
R returns 出现如下错误:
Error in plot.xy(xy.coords(x, y), type = type, ...) :
invalid RGB specification
如果我只是用例如“#63636309”覆盖 E(g)$color,它会完美地工作...
谁能指出正确的方向来解决这个问题?
非常感谢,
一月
这似乎是 GISTools 包中的问题。我现在使用的是具有以下公式的 scales 包
E(g)$color <- alpha(E(g)$color, ((0.8*(E(g)$Invested.Amount.in.EUR - min(E(g)$Invested.Amount.in.EUR))) / (max(E(g)$Invested.Amount.in.EUR)-min(E(g)$Invested.Amount.in.EUR)))+0.2)
并且运行顺利!
我正在尝试可视化具有两种类型节点的大型网络(投资者对公司进行投资)。为了增加可见性,我想根据边缘结束的节点为边缘着色。
edge.end <- get.edges(g, 1:ecount(g))[,1] # g is my igraph element
E(g)$color <- V(g)$color[edge.end] # edge color based on vector color
这非常有效 returns 32,000+ 十六进制颜色代码。
[1] "#FFF5F0" "#FFF5F0" "#FFF5F0" ...
由于图表现在非常拥挤,我想根据各自的投资规模使边缘透明。透明度应介于 0.5 和 1 之间。 为此,我使用 GISTools:
E(g)$color <- add.alpha(E(g)$color, ((0.5*(E(g)$Invested.Amount.in.EUR - min(E(g)$Invested.Amount.in.EUR))) / (max(E(g)$Invested.Amount.in.EUR)-min(E(g)$Invested.Amount.in.EUR)))+0.5)
这似乎有效 returns:
[1] "#FFF5F0BF" "#FFF5F0B3" "#FFF5F099" ...
但是,当我现在使用以下代码绘制图形时(在添加透明度之前运行良好)
pdf('all.pdf')
plot(g, layout = layout_with_fr(g, niter = 1000, weights = E(g)$width))
dev.off()
R returns 出现如下错误:
Error in plot.xy(xy.coords(x, y), type = type, ...) :
invalid RGB specification
如果我只是用例如“#63636309”覆盖 E(g)$color,它会完美地工作... 谁能指出正确的方向来解决这个问题?
非常感谢, 一月
这似乎是 GISTools 包中的问题。我现在使用的是具有以下公式的 scales 包
E(g)$color <- alpha(E(g)$color, ((0.8*(E(g)$Invested.Amount.in.EUR - min(E(g)$Invested.Amount.in.EUR))) / (max(E(g)$Invested.Amount.in.EUR)-min(E(g)$Invested.Amount.in.EUR)))+0.2)
并且运行顺利!