这是一个基本问题,但我无法找到答案.我在一个面板中产生了大约9个条形图,每个条形图有大约12个条形图.我在输入中提供了所有12个标签,但R仅命名备用条.这显然是由于R中的一些默认设置需要更改但我无法找到它.
我最喜欢的基本图形技巧之一是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)
这对我来说似乎很难,但也许它比我想象的要容易.提前感谢您考虑此问题.
我正在尝试将一些文本添加到与每个条形相同高度的水平条形图的右侧,但是,text()和axis()似乎都没有在与每个条形对应的高度处绘制这些文本.
这是一个类似的情节
x <- runif(10, 0,1)
y <- matrix(c(x, 1-x), nrow=2, ncol=10, byrow=TRUE)
barplot(y, horiz=TRUE, beside=FALSE, names.arg=seq(1,10,1), las=1, xlim=c(0, 1.2))
Run Code Online (Sandbox Code Playgroud)
这两个选项都没有正确对齐,缩放如何在这里工作?
axis(4, at=seq(1,10,1), labels=seq(1,10,1))
text(1.1, seq(1,10,1), labels=seq(1, 10, 1))
Run Code Online (Sandbox Code Playgroud) 我想知道如何更改barchart()函数中的条形宽度.
这是代码:
rater1 <- c(0.75, 0.66, 0.73, 0.63)
barplot(rater1, ylim=c(0:1),axes = TRUE, names.arg = c("A", "B", "C", "D"), axisnames=TRUE, col="grey70")
Run Code Online (Sandbox Code Playgroud)
是否也可以在条形图上方放置价值标签?
谢谢.