相关疑难解决方法(0)

注释条形上方的值(ggplot刻面)

我最喜欢的基本图形技巧之一是Bill Dunlap的拾音器.能够在条形图中将数值(或任何值)放置在条形图上方(我不会使用它但偶尔会喜欢它).

mtcars2 <- mtcars[order(-mtcars$mpg), ]
par(cex.lab=1, cex.axis=.6, 
    mar=c(6.5, 3, 2, 2) + 0.1, xpd=NA) #shrink axis text and increas bot. mar.

barX <- barplot(mtcars2$mpg,xlab="Cars", main="MPG of Cars", 
   ylab="", names=rownames(mtcars2), mgp=c(5,1,0),
   ylim=c(0, 35), las=2, col=mtcars2$cyl)

mtext(side=2, text="MPG", cex=1, padj=-2.5)
text(cex=.5, x=barX, y=mtcars2$mpg+par("cxy")[2]/2, mtcars2$hp, xpd=TRUE) 
Run Code Online (Sandbox Code Playgroud)

哪个给你:

在此输入图像描述

我希望能够在ggplot中使用多面条形图进行相同类型的注释.显然,这些值也必须是你所绘制的相同的两个变量,所以你可以用ftable获得它们.我想把下面的ftable结果(对于非零值)并将它们放在各自的条形图上方.

library(ggplot2)
mtcars2 <- data.frame(id=1:nrow(mtcars), mtcars[, c(2, 8:11)])
mtcars2[, -1] <- lapply(mtcars2[, -1], as.factor)

with(mtcars2, ftable(cyl, gear, am))

ggplot(mtcars2, aes(x=cyl)) + geom_bar() + 
    facet_grid(gear~am)
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很难,但也许它比我想象的要容易.提前感谢您考虑此问题.

r ggplot2

21
推荐指数
1
解决办法
9475
查看次数

如何使用R中的数据值或百分比标记直方图条

我想用直方图中的每个条形标记该区域中的计数数量或该区域中总计数的百分比.我敢肯定必须有办法做到这一点,但我找不到它.这个页面有几张SAS直方图的照片,基本上我正在尝试做的事情(但该网站似乎没有R版本):http://www.ats.ucla.edu/stat/sas/常见问题/ histogram_anno.htm

如果可能的话,根据需要,可以灵活地将标签放在条形图的上方或某处.

我正在尝试使用基本R绘图工具,但我对ggplot2和格子中的方法感兴趣.

graphics r histogram

20
推荐指数
2
解决办法
6万
查看次数

RE:使用ggplot2对各个条上的数字进行对齐

我需要在ggplot上方的标签上方放置标签.我曾经使用找到的方法(这里),但这似乎不再工作,因为我的ggplot2更新,因为我现在收到错误消息:

Error in continuous_scale(c("y", "ymin", "ymax", "yend", "yintercept",  : 
  unused argument(s) (formatter = "percent")
Run Code Online (Sandbox Code Playgroud)

使用示例时,如何再次在条形图上方绘制数值:

df <- structure(list(A = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L), .Label = c("0-50,000", "50,001-250,000", "250,001-Over"), class = "factor"),
    B = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), .Label = c("0-50,000",
    "50,001-250,000", "250,001-Over"), class = "factor"), Freq = c(0.507713884992987,
    0.258064516129032, 0.23422159887798, 0.168539325842697, 0.525280898876405,
    0.306179775280899, 0.160958904109589, 0.243150684931507,
    0.595890410958904)), .Names = c("A", "B", "Freq"), class = "data.frame", row.names = c(NA,
-9L)) …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2

10
推荐指数
1
解决办法
2747
查看次数

上面的注释栏:

ggplot的躲避酒吧情节再次令我难过.几个星期前我在这里询问了关于在栏上方注释文字的内容(LINK)并得到了极好的回应+ stat_bin(geom="text", aes(label=..count.., vjust=-1)).我想,因为我已经有了计数,我只会在..之前和之后提供它们,我告诉stat_binpositiondodge.它将它们排列在组的中心上方并进行上下调整.可能是次要的.请帮我把文字翻到栏上.

在此输入图像描述

mtcars2 <- data.frame(type=factor(mtcars$cyl), 
    group=factor(mtcars$gear))
library(plyr); library(ggplot)
dat <- rbind(ddply(mtcars2,.(type,group), summarise,
    count = length(group)),c(8,4,NA))

p2 <- ggplot(dat,aes(x = type,y = count,fill = group)) + 
    geom_bar(colour = "black",position = "dodge",stat = "identity") +
    stat_bin(geom="text", aes(position='dodge', label=count, vjust=-.6)) 
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

r ×4

ggplot2 ×3

bar-chart ×1

graphics ×1

histogram ×1