【发布时间】:2015-05-22 13:49:23
【问题描述】:
我想在我的分组条形图(R 基)中放置星号,以指示配对比较显着不同的地方。我知道如何使用points 命令放置这些星星。但是,从我目前阅读的帖子来看,似乎需要手动找到正确的坐标(例如,第一组:x=0.635,y=26,请参见下面的代码)。如果需要为所有重要的货币对找出这一点,这将需要相当长的时间。
所以我的问题是:有没有更简单的方法来找到与中间对应的坐标并且就在成对的条旁边?目前我更愿意在基本绘图系统中执行此操作,但也欢迎 ggplot 答案。非常感谢您!
数据示例
set.seed(123)
dat<-matrix(runif(32, min = 0.5, max = 1), nrow=2, ncol=16)
colnames(dat)<-c(LETTERS[1:16])
par(mar=c(2,4,2,2))
mp<-barplot(dat, col=c("blue","red"), beside=TRUE, horiz=TRUE, xpd=FALSE, axes=FALSE, axisnames=TRUE, cex.names=0.8, las=2, xlim=c(0.5,1.0), main="Data Example")
axis(1, at=seq(0.5,1.0, by=0.1))
axis(2, at=mp, labels=FALSE, tick=FALSE)
points(x=0.635, y=26, pch="*", cex=2) #sign position at I
【问题讨论】:
-
我不明白你打电话给
axis(2, ...)是为了什么?还有,你是怎么定义0.635的? -
你说得对,实际上
axis(2, ...)是多余的。 0.635 是通过手工、反复试验定义的。所以这基本上是我的问题:如何以更简单的方式获得相应的坐标,它是否存储在图中的某个位置? -
那么,我的回答符合您的需求吗? (我的意思是,我理解你的要求对吗?)。您可以稍后根据刻度之间的间隔定义“偏移量”(此处为 0.01),例如,以确保它不“依赖于范围”。
-
是的,这行得通,这绝对是我想要的。谢谢!
-
太棒了!乐于助人:-)