我想更好地展示我的观点中的渐变,我相信我可以使用“viridis”配色方案来做到这一点。目前我只是使用钢蓝色和橙色来演示我的渐变,但是中间颜色不是很清晰并且有点灰色。
这是代码:
G1.v_sub_plot <- ggraph(G1.v_sub, layout = Layout) +
geom_edge_link(alpha=0.2) +
geom_node_point(aes(colour = average_duration,
size=as.numeric(Bridge_betw),
shape=as.factor(community))) +
scale_size_continuous(range = c(5, 20)) +
scale_color_gradient(low="steelblue", high="orange") +
theme_graph(base_family = 'Helvetica') +
theme(legend.text = element_text(size=22),
legend.title = element_text(size=22)) +
labs(color="Average vigilance duration",
size="Bridge betweenness",
shape="Community") + set.seed(123)
颜色显示了网络中每个人在设定的时间段内表现出的平均警惕持续时间。
我可以找到如何在其他图表上执行此操作,但不是社交网络图表。我对其他颜色和使用中断持开放态度,我只是希望中间点能够更好地显示。
如果有帮助的话我可以附上图表:)
谢谢!
创建一个具有示例中的节点属性的图表
library(igraph)
set.seed(1337)
nodes <-
data.frame(
id = 1:10,
average_duration = sample(1:20, 10),
Bridge_betw = rnorm(10),
community = sample(1:5, 10, replace = TRUE)
)
edges <-
data.frame(
from = sample(1:10, 45, replace = TRUE),
to = sample(1:10, 45, replace = TRUE)
)
G1.v_sub <-
graph_from_data_frame(edges, TRUE, nodes)
您可以使用
scale_color_viridis()
来使用viridis调色板。
library(ggraph)
#> Loading required package: ggplot2
ggraph(G1.v_sub) +
geom_edge_link(alpha=0.2) +
geom_node_point(aes(colour = average_duration,
size=as.numeric(Bridge_betw),
shape=as.factor(community))) +
#scale_size_continuous(range = c(5, 20)) +
scale_color_viridis() +
theme_graph(base_family = 'Helvetica') +
theme(legend.text = element_text(size=22),
legend.title = element_text(size=22)) +
labs(color="Average vigilance duration",
size="Bridge betweenness",
shape="Community")
#> Using "stress" as default layout
创建于 2023-08-31,使用 reprex v2.0.2