网络图
2022-07-16 本文已影响0人
可能性之兽
ggplot(gg, aes(x = x, y = y, xend = xend, yend = yend)) +
geom_edges(color = "black", alpha = 0.5, curvature = 0.1) +
geom_nodes(aes(color = name), size = 2) + theme_blank() +
geom_nodetext_repel(aes(label = name), color = "black",
size = 2, max.overlaps = 18) +
theme_blank() +
guides(color = guide_legend(keyheight = 0.09, keywidth = 0.09,
title = "Countries")) +
theme(legend.text = element_text(size = 7))
![](https://img.haomeiwen.com/i23627621/824f0e9bce841fae.png)
上面这个图其实很像是monocle绘图,所以好奇看了一眼monocle的绘图函数,发现monocle用的更多的是ggplot2的geom_point,geom_line,geom_segment,stat_density2d,geom_jitter这些函数
if (is.null(markers_exprs) == FALSE && nrow(markers_exprs) > 0){
data_df <- merge(data_df, markers_exprs, by.x="sample_name", by.y="cell_id")
if(use_color_gradient) {
if(markers_linear){
g <- ggplot(data=data_df, aes(x=data_dim_1, y=data_dim_2)) + geom_point(aes(color= value), size=I(cell_size), na.rm = TRUE) +
scale_color_viridis(name = paste0("value"), ...) + facet_wrap(~feature_label)
} else {
g <- ggplot(data=data_df, aes(x=data_dim_1, y=data_dim_2)) + geom_point(aes(color=log10(value + 0.1)), size=I(cell_size), na.rm = TRUE) +
scale_color_viridis(name = paste0("log10(value + 0.1)"), ...) + facet_wrap(~feature_label)
}
} else {
if(markers_linear){
g <- ggplot(data=data_df, aes(x=data_dim_1, y=data_dim_2, size= (value * 0.1))) + facet_wrap(~feature_label)
} else {
g <- ggplot(data=data_df, aes(x=data_dim_1, y=data_dim_2, size=log10(value + 0.1))) + facet_wrap(~feature_label)
}
}
} else {
g <- ggplot(data=data_df, aes(x=data_dim_1, y=data_dim_2))
}
if (show_tree){
g <- g + geom_segment(aes_string(x="source_prin_graph_dim_1", y="source_prin_graph_dim_2", xend="target_prin_graph_dim_1", yend="target_prin_graph_dim_2"), size=cell_link_size, linetype="solid", na.rm=TRUE, data=edge_df)
}