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

如何在R语言的时间序列图上方添加‘Phase 4’标题?

如何给ts.plot绘制的时间序列图添加标题?

你踩了一个很常见的小坑:dev.copy2pdf()里的title参数不是用来设置图上显示的标题,而是设置PDF文件的文档属性标题(就是你在文件属性里看到的那种),所以不管你怎么调这个参数,图上都不会显示标题~

而且ts.plot()本身不像基础的plot()函数那样支持直接传入main参数,所以得换个方式来加标题,这里给你两种靠谱的解决方案:

方案1:先绘图,再用title()添加标题

修改你的代码,在绘图之后、保存PDF之前,调用title()函数来添加图标题:

library("extrafont")
# 绘制时间序列图
ts.plot(newdata, col=1:5)
# 添加图标题,这里可以指定字体、大小等样式
title(main = "Phase 4", family = "CM Roman", cex.main = 1.2)
# 保存PDF,注意去掉没用的title参数
dev.copy2pdf(file="C:/Users/X/Desktop/timeplot_fase4.pdf", height=3, width=4, family="CM Roman", pointsize=12)
dev.off()

方案2:直接打开PDF设备再绘图(更稳妥)

有时候dev.copy2pdf()会复制设备时出现一些小问题,更稳妥的方式是先打开PDF设备,再完成绘图和加标题的操作:

library("extrafont")
# 先打开PDF输出设备,设置好参数
pdf(file="C:/Users/X/Desktop/timeplot_fase4.pdf", height=3, width=4, family="CM Roman", pointsize=12)
# 绘制时间序列图
ts.plot(newdata, col=1:5)
# 添加标题
title(main = "Phase 4", family = "CM Roman")
# 关闭设备,完成保存
dev.off()

简单说就是:ts.plot()不支持直接加main参数,必须用title()来补加图标题;而dev.copy2pdf()的title参数和图上的标题完全是两回事,别搞混啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:21:49