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

ggplot2绘图调整:移除默认背景、添加内置标题与线端标注

ggplot2时序图调整实现代码

以下是完全匹配你提出的6项展示要求的调整后代码:

## 模拟ARIMA(1, 0, 0)序列
set.seed(799837)
ts <- arima.sim(n = 10, model = list(ar = 0.95, order = c(1, 0, 0)), sd = 10)

gplot <- ggplot(NULL, aes(y = ts, x = seq_along(ts))) + 
  scale_x_continuous(breaks = seq(1,10,2)) +
  geom_line(color = "#F2AA4CFF") + 
  geom_point(color = "#101820FF") + 
  xlab('时间') + 
  ylab('序列值') +
  # 放置绘图区内的(a)标题,顶部居中不贴近折线
  annotate("text", x = 5.5, y = Inf, label = "(a)", vjust = 2, size = 5) +
  # 折线头部放置φ=.8公式
  annotate("text", x = 1, y = ts[1] + 0.3, label = expression(phi == .8), parse = TRUE, hjust = 0, size = 4) +
  # 折线尾部放置sd=1标注
  annotate("text", x = 10, y = ts[10] + 0.3, label = "sd = 1", hjust = 1, size = 4) +
  scale_y_continuous(expand = c(0.0, 0.00)) +
  theme(
    # 纯色背景设置
    panel.background = element_rect(fill = "white"),
    # 保留四条边框线
    panel.border = element_rect(color = "black", fill = NA, linewidth = 0.8),
    # 灰色网格线设置
    panel.grid.major = element_line(color = "grey70", linewidth = 0.3),
    panel.grid.minor = element_line(color = "grey80", linewidth = 0.2),
    # 保留原有的坐标轴样式配置
    axis.text = element_text(size = 10, angle = 0, vjust = 0.0, hjust = 0.0), 
    axis.title = element_text(size = 10), 
    axis.title.x = element_text(angle = 0, hjust = 0.5, vjust = 0.5, size = 10), 
    axis.title.y = element_text(angle = 90, hjust = 0.5, vjust = 0.5, size = 14)
  )

gplot

调整逻辑说明

  • 纯色背景通过panel.background设置填充为白色实现
  • 绘图区内标题用annotate固定在绘图区顶部居中位置,vjust参数控制和下方折线的间距
  • 头尾标注自动提取折线首尾点的坐标,微调垂直偏移量避免遮挡折线,适配任意生成的序列位置
  • 边框通过panel.border实现,fill设为NA避免遮盖绘图内容
  • 网格线分别对主次层级设置不同灰度的灰色样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:06:04