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

ggplot2小提琴图:修改坐标轴标签与刻度标记

问题描述

已绘制出符合预期的ggplot2小提琴图,仅需修改坐标轴标签与刻度标记:

  • Y轴标签设为“SR Observed”
  • X轴标签设为“Forest Type”
  • X轴刻度标签改为“Bear Oak”和“Oak-Hickory”
    要求仅使用ggplot2包实现。
解决方案

你可以通过labs()函数修改坐标轴标签,结合scale_x_discrete()修改X轴刻度标签,完整代码如下:

library(ggplot2)

# 加载数据集
df <- structure(list(forest.type = c("bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "bear.oak", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", "bear.oak", 
"bear.oak", "bear.oak", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", "oak.hickory", 
"oak.hickory", "oak.hickory"), S.obs = c(13, 9, 9, 5.5, 10, 6, 
8, 9.333333333, 9, 9, 11, 8, 9, 9, 10, 11, 8.333333333, 7.5, 
6, 13, 12.5, 9, 9.5, 9, 7, 7, 8, 9, 8, 6, 9, 6, 3, 2, 2, 2, 4, 
3, 11, 5.8, 5.4, 6.4, 6.6, 5, 11, 10, 9.333333333, 6, 10, 10, 
9, 7, 7, 5, 10, 11, 13, 5, 7, 8, 7, 9, 7, 8, 8, 11, 11.5, 16.5, 
4, 7, 6, 5.5, 5, 7, 7, 13, 16, 7, 11, 8.5, 11, 12, 12, 14, 11, 
11, 6, 8.5, 4, 10, 7, 6, 7, 11, 5, 5, 8, 7, 11.5, 10, 8, 5, 9, 
6, 8, 5.5, 7, 4.5, 7, 7, 6.5, 7.5, 5.5, 5, 7.5, 9.5, 6, 8, 5.5, 
9.25, 3.666666667, 5.5, 7.5, 6.5, 6, 8, 6, 13, 14, 14.5, 10.33333333, 
10, 6, 5, 9, 8)), class = "data.frame", row.names = c(NA, -136L
))

# 绘制小提琴图并修改坐标轴
p <- ggplot(df, aes(x = forest.type, y = S.obs)) +
  geom_violin() +
  stat_summary(fun = median, geom = "point", size = 2, color = "red") +
  # 修改坐标轴标签
  labs(x = "Forest Type", y = "SR Observed") +
  # 修改X轴刻度标签
  scale_x_discrete(breaks = c("bear.oak", "oak.hickory"),
                   labels = c("Bear Oak", "Oak-Hickory"))

# 显示图形
print(p)

代码说明

  • labs(x = "Forest Type", y = "SR Observed"):直接设置X、Y轴的显示标签
  • scale_x_discrete(breaks = ..., labels = ...):breaks对应数据中原始的类别名称,labels设置要显示的新刻度文本
  • 保留了你原本添加的中位数红点逻辑,确保图形效果符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:15:34