You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中使用ggplot2将海豚图片作为网络图的节点形状

R语言ggplot2网络图自定义图片节点实现方案

你只需要将原有代码中的geom_nodes层替换为ggimage包提供的geom_image层即可,无需提前读取PNG文件,调整后的完整代码如下:

library("ggimage")
library(network)
library(ggnetwork)
library(ggplot2)

# 读取节点、边数据构建网络对象
nodes <- read.csv(file='dolphin_nodes.csv')
edges <- read.csv(file='dolphin_edges.csv')
net <- network(x=edges, vertices=nodes, directed = FALSE)
n <- ggnetwork(net)

# 绘图
ggplot(n, aes(x=x,y=y, xend=xend, yend=yend)) +
  # 先画边
  geom_edges(color = "grey70") +
  # 用海豚图片替换节点,size控制图片大小,可根据需求调整
  geom_image(aes(size = group), image = "dolphin.png") +
  # 原有边文本层
  geom_edgetext(aes(label = group), color = "white", fill = "grey25") +
  # 主题设置
  theme_minimal() +
  theme(axis.text = element_blank(),
        axis.title = element_blank(),
        panel.background = element_rect(fill = "grey25"),
        panel.grid = element_blank())

如果你需要保留按group区分颜色的效果,可以在geom_image下方加一层半透明的geom_point,将颜色映射放在这一层即可。

参考素材

dolphin
graph

内容的提问来源于stack exchange,提问作者Millie Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:15:02