我試圖在barplot內顯示頻率...我想要他們某處在圖中:在酒吧下方,酒吧內,酒吧上方或圖例區域中。我記得(我可能是錯的),它可以在ggplot2
完成。這可能很簡單...至少看起來很簡單。代碼如下:在ggplot2中顯示頻率和barplot
p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()
有沒有可能讓頻率嵌入圖中?
我試圖在barplot內顯示頻率...我想要他們某處在圖中:在酒吧下方,酒吧內,酒吧上方或圖例區域中。我記得(我可能是錯的),它可以在ggplot2
完成。這可能很簡單...至少看起來很簡單。代碼如下:在ggplot2中顯示頻率和barplot
p <- ggplot(mtcars)
p + aes(factor(cyl)) + geom_bar()
有沒有可能讓頻率嵌入圖中?
geom_text
是從基地圖形text
THA類似物:
p + geom_bar() + stat_bin(aes(label=..count..), vjust=0,
geom="text", position="identity")
如果要調整的標籤的y位置,則可以使用y=
審美內stat_bin
:例如,y=..count..+1
將標籤放在酒吧上方一個單位。
上面也適用如果你使用geom_text
和stat="bin"
裏面。
如果您不限於ggplot2,可以使用來自plotrix軟件包的基本圖形文件或boxed.labels文本。
難以實現。我相信有更好的方法。
ggplot(mtcars,aes(factor(cyl))) +
geom_bar() +
geom_text(aes(y=sapply(cyl,function(x) 1+table(cyl)[names(table(cyl))==x]),
label=sapply(cyl,function(x) table(cyl)[names(table(cyl))==x])))
這是比較好的做法是創建你的繪製代碼數據_outside_。將數據推入審美映射是一個不錯的主意。 – hadley 2010-03-31 14:31:15
如果想要添加不同的信息了以下工作:
ggplot(mydata, aes(x=clusterSize, y=occurence)) +
geom_bar() + geom_text(aes(x=clusterSize, y=occurence, label = mydata$otherinfo))
您能否通過提供一個引用'datasets'包(或CRAN倉庫中可用的其他包)中可用數據的示例複製此答案?我懷疑barplot是否可以使用指定的「y」變量來繪製「...」... – aL3xa 2010-06-08 01:07:39
對於標籤,爲什麼在計數之前和之後有「..」? – 2015-04-12 17:19:57
'..count..'是包含'stat_bin'自動創建的bin頻率的變量的名稱。所以在它之前和之後的兩個時期是變量名稱的一部分 – Aniko 2015-04-14 20:45:17
這個答案給我一個錯誤'錯誤:stat_count需要以下缺失的美學:x'。但是,在'p + aes(factor(cyl))+ geom_bar()+ stat_count(aes(label = .. count)'中加入'aes(factor(cyl))'並將'stat_bin'改爲'stat_count'。 。),vjust = 0,geom =「text」,position =「identity」)'確實有效。 – steveb 2017-09-14 17:58:34