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

R语言绘图布局调整:如何让密度图并列而非重叠?

问题解答

仅修改均值和标准差参数无法实现并列显示,必须调整绘图相关的代码部分。

原因说明

你当前的代码里,通过matplot(y1, type="l", add=TRUE)把第二个密度图直接叠加到第一个图的画布上,这才是导致重叠的核心原因——和数据的均值、标准差无关,哪怕你把均值改得相差很大,只要用add=TRUE,两个图还是会叠在同一块画布上。

实现并列显示的修改方案(Base R 新手友好版)

你需要先设置绘图布局,让R把画布分成多个区域,再分别绘制两个图。这里推荐用par(mfrow)来设置行列布局,以下是修改后的完整代码:

# 生成数据(均值和标准差可以按你的需求调整)
x <- rnorm(1000, 1, 1)
x1 <- rnorm(1000, -10, 1)

# 保留你原有的统计量计算逻辑
quantile(x, 0.05)
sum(x1 > quantile(x, 0.05))/length(x1)

# 设置并列布局:1行2列,后续绘图会依次填充这两个区域
par(mfrow = c(1, 2))

# 绘制第一个数据的密度图(用density函数比直接取hist的density更直观)
plot(density(x), main = "x的密度分布", col = "darkblue")

# 绘制第二个数据的密度图
plot(density(x1), main = "x1的密度分布", col = "darkred")

# 恢复默认的单图布局(避免影响后续绘图)
par(mfrow = c(1, 1))

额外说明

如果你坚持想用hist的结果来绘图,需要注意两个直方图的区间(breaks)尽量一致,否则密度值的刻度可能不匹配,但对新手来说,用density()函数直接生成密度曲线会更简单易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:35:18