2011-07-02 94 views
11

我想繪製一個平均值(平均值)的直方圖(標記爲例如藍色,粗線)。 我嘗試使用繪圖命令,但即使我添加參數:「add = TRUE」 它不工作。將平均值添加到R中的直方圖中!

+1

歡迎來到社區。如果下面的答案解決了您的問題,您應該將其中一個標記爲解決方案(點擊旁邊的小複選框)。對於將來的問題,請提供一個數據集來說明問題,以避免重新創建測試數據的人提供答案(您會注意到EDi解決方案的前兩行)。謝謝! –

回答

21

您可以使用abline()將行添加到一個情節:

x <- rnorm(100) 
mx <- mean(x) 
hist(x) 
abline(v = mx, col = "blue", lwd = 2) 

也看一看用於圖形參數面值(如山坳和LWD)?

編輯:

關於在評論你的問題:
您也可以使用繪製行線()。
text()用於文本。
參數cex描述了「字符擴展因子」。

也看看Quick-R基本繪圖與R.概述

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) 
+0

有沒有什麼辦法創建較短的行,並添加到他們的數量?我如何分配字體大小添加文本? –

+0

查看我的編輯... – EDi

10
hist(data) 
abline(v=mean(data),col="blue") 
+2

秒,那麼我... – EDi

+0

我缺少「垂直」參數的明確v – espaciomore

5

如果你有使用GGPLOT2包是我的優先選擇多個列的數據幀:

ggplot (data, aes (x = colname)) + geom_vline(xintercept=mean(data$colname), color="red") 

Colname是您的data.frame中的列,您希望繪製直方圖和平均值。

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)