我想绘制一个平均值(平均值)的直方图(例如我们可以用蓝色粗线标记)。
我尝试使用plot
命令执行此操作,但即使我设置了参数add=TRUE
它不起作用。
答案 0 :(得分:22)
您可以使用abline()
为地图添加线条:
x <- rnorm(100)
mx <- mean(x)
hist(x)
abline(v = mx, col = "blue", lwd = 2)
还要查看?par
的图形参数(例如col
和lwd
)。
通常,您还可以使用lines()
:
x <- rnorm(100, mean = 10)
mx <- mean(x)
hist(x)
lines(c(mx,mx), c(0,15), col = "red", lwd = 2)
lines(c(10, 11.5), c(0, 10), col = "steelblue", lwd = 3, lty = 22)
text(mx, 18 , round(mx, 2))
text(mx, 12 , "big", cex = 5)
其中text()
用于添加文字。参数cex
描述了“字符扩展因子”。
另外,请查看Quick-R,了解使用R。
进行基本绘图的概述答案 1 :(得分:13)
hist(data)
abline(v=mean(data),col="blue")
答案 2 :(得分:6)
如果你有更多列的数据框使用ggplot2包是我的首选选项:
ggplot (data, aes (x = colname)) + geom_vline(xintercept=mean(data$colname), color="red")
Colname是data.frame中要为其绘制直方图和平均值的列。
答案 3 :(得分:1)
我遇到了平均线没有出现的问题,我没有得到任何错误来帮助我找出原因。我意识到没有发生任何事情,因为我有一些缺失的数据,所以平均值计算为NA。将na.rm = T
添加到mean()arg得到一个实数,并出现平均线。这是一个小小的疏忽和一个简单的解决方案,几乎不值得写,但无论如何我都会发布它以防万一有些悲伤。
hist(data$Defect.rate,
xlim = c(0, 1),
col = "light blue")
abline(v = mean(data$Defect.rate, na.rm = T),
col = "red",
lwd = 2)