0

我想在 R 中制作以下图片。我画了它,但我想根据它们的值加权边缘大小,使用这两种不同的颜色(红色和蓝色)和两种不同的边缘类型(虚线和非虚线) . 我该怎么做呢?

网络绘图

这是数据框的代码

data.frame(Node = c("MF", "MF", "SF","SF", "AFS","AFS"), Edge.col= c(rep(c("Blue","Red"),3)), RC = c(215, 79, 38, 22, 659, 43), SER = c(285, 43, 120, 44, 252, 95))
4

1 回答 1

0

我终于设法制作了这张照片。我在 R 中做不到,但我使用了 graphviz 软件。下面我展示代码:

digraph g {
layout = "neato"

MF -> SER [color=blue, penwidth=3.24, label = "285"];
MF -> SER [color=red, penwidth=0.49, label = "43"];
MF -> RC [style=dashed, color=blue, penwidth=2.44, label = "215"];
MF -> RC [style=dashed, color=red, penwidth=0.9, label = "79"];
SF -> SER [color=blue, penwidth=1.36, label = "120"];
SF -> SER [color=red, penwidth=0.5, label = "44"];
SF -> RC [style=dashed, color=blue, penwidth=0.43, label = "38"];
SF -> RC [style=dashed, color=red, penwidth=0.25, label = "22"];
AFS -> SER [color=blue, penwidth=2.86, label = "252"];
AFS -> SER [color=red, penwidth=1.08, label = "95"];
AFS -> RC [style=dashed, color=blue, penwidth=7.5, label = "659"];
AFS -> RC [style=dashed, color=red, penwidth=0.49, label = "43"];

MF[pos="0,2!", height = 1, width = 1.5, fontsize = 28, fontname = "Helvetica"]
SF [pos="-2,-2!", height = 1, width = 1.5, fontsize = 28, fontname = "Helvetica"]
AFS [pos="2,-2!", height = 1, width = 1.5, fontsize = 28, fontname = "Helvetica"]
RC [pos="1,0!", label = "BB",shape=Mdiamond, height = 1, width = 1.5, fontsize = 28, fontname = "Helvetica"];
SER [pos="-1,0!", label = "P-S", shape=Msquare, height = 1, width = 1, fontsize = 28, fontname = "Helvetica"];
}
于 2017-12-09T07:52:07.967 回答