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

如何在ggplot绘制的PCA图中修改点的标记符号?

ggbiplot修改点符号样式操作方法

全局统一修改点样式

直接在ggbiplot()函数内添加point.shape参数即可修改所有点的统一形状,参数值对应R语言标准点形状编码:

  • 1:空心圆
  • 16:实心圆(默认值)
  • 17:实心三角形
  • 15:实心正方形
  • 3:十字符号
  • 4:叉号
  • 21:带边框的可填充圆

示例代码:

biplot <- ggbiplot(pcobj = PCA,
                   choices = c(1,2),
                   scale = 1,
                   groups = Fdata$Tissue,
                   ellipse = TRUE,
                   point.shape = 17) + 
  geom_vline(xintercept = 0, linetype = 3) +
  geom_hline(yintercept = 0, linetype = 3)

按分组设置不同点形状

如果需要不同Tissue分组对应不同的点形状,需要先隐藏默认点图层,再新增自定义点图层做形状映射:

biplot <- ggbiplot(pcobj = PCA,
                   choices = c(1,2),
                   scale = 1,
                   groups = Fdata$Tissue,
                   ellipse = TRUE,
                   point.size = 0) + # 隐藏默认点
  # 新增点图层,将形状、颜色映射到分组变量
  geom_point(aes(shape = groups, color = groups), size = 2) +
  # 自定义每个分组对应的形状,数值个数和你的分组数量保持一致即可
  scale_shape_manual(values = c(16, 17, 15, 8)) +
  geom_vline(xintercept = 0, linetype = 3) +
  geom_hline(yintercept = 0, linetype = 3)

自定义点的附加样式

如果需要设置点的边框、透明度、填充色等样式,可以使用支持分开设置填充和边框的形状编码(21-25),示例如下:

biplot <- ggbiplot(pcobj = PCA,
                   choices = c(1,2),
                   scale = 1,
                   groups = Fdata$Tissue,
                   ellipse = TRUE,
                   point.size = 0) +
  geom_point(aes(fill = groups), shape = 21, size = 3, color = "black", alpha = 0.8) +
  geom_vline(xintercept = 0, linetype = 3) +
  geom_hline(yintercept = 0, linetype = 3)

内容的提问来源于stack exchange,提问作者Sonam Tashi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:57:03