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

如何将ggplot2绘图中的点改为黑白风格及指定形状(方形、圆形等)

ggplot2黑白配色及自定义点形状设置方案

数据如下:
Data

你需要实现ggplot2绘图的黑白配色,同时为不同分组的点指定方形、圆形、实心方形、实心圆形这几种形状,以下是修正后的完整方案:

先修正原代码的几处错误:

  • 拼写错误:Horitculture应为Horticulture(实际按分组需求,直接绑定Speciesf即可)
  • 主题参数写法错误:theme_bw()仅用于启用黑白主题,图例相关参数需放在单独的theme()函数中
  • 纵轴标签表达式存在语法问题,已简化修正

实现需求的完整代码:

library(ggplot2)
Horticulture$Species <- factor(Horticulture$Species)
Horticulture$Speciesf <- factor(paste("ID", Horticulture$Species, sep = " "))

ggplot(Horticulture, aes(x = Time, y = growth, color = Speciesf, shape = Speciesf)) +
  geom_point(size = 3) + # 可根据需求调整点的大小
  geom_errorbar(aes(ymin = growth - SE, ymax = growth + SE), width = 0.2) + # 调整误差棒宽度优化显示
  geom_line() +
  xlab("Time [days]") +
  ylab(expression(paste("Growth [", day^-1, "]"))) + # 修正纵轴标签的表达式写法
  scale_color_manual(values = rep("black", length(levels(Horticulture$Speciesf)))) + # 统一设置为黑色,实现黑白配色
  scale_shape_manual(values = c(0, 1, 15, 16)) + # 对应分组的形状:空心方形、空心圆形、实心方形、实心圆形
  theme_bw() +
  theme(
    legend.title = element_blank(),
    legend.position = c(0.85, 0.85)
  )

核心说明:

  • 在aes中同时绑定color和shape到Speciesf,确保每个分组对应唯一的形状标识
  • scale_color_manual通过重复"black"值,让所有点都显示为黑色,达成黑白配色要求
  • scale_shape_manual的values向量顺序需与Speciesf的分组顺序匹配,若要调整形状与分组的对应关系,修改此向量顺序即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:05:59