R绘图:始终以与绘图相同的绝对距离绘制文本

R绘图:始终以与绘图相同的绝对距离绘制文本,r,plot,R,Plot,我有以下问题。我有一点复杂的条形图,我想在图表的右侧添加描述。我的想法是基本上将右边的边距(mar)增加到15.0,并直接在图表旁边绘制文本。这在大多数情况下都有效,但如果我增加打印窗口的大小,文本将在打印区域之外绘制过多,因为x位置是“相对的”。有办法解决这个问题吗?因为现在我的x位置是这样定义的: 最大值(返回矩阵)+0.005 当然,根据图表的宽度,这会将文本移到远处 这是我的示例代码(我在Shiny中使用它,例如,如果调整浏览器窗口的大小,就会出现错误) ReturnMatrix是否可以

我有以下问题。我有一点复杂的条形图,我想在图表的右侧添加描述。我的想法是基本上将右边的边距(mar)增加到15.0,并直接在图表旁边绘制文本。这在大多数情况下都有效,但如果我增加打印窗口的大小,文本将在打印区域之外绘制过多,因为x位置是“相对的”。有办法解决这个问题吗?因为现在我的x位置是这样定义的: 最大值(返回矩阵)+0.005 当然,根据图表的宽度,这会将文本移到远处

这是我的示例代码(我在Shiny中使用它,例如,如果调整浏览器窗口的大小,就会出现错误)


ReturnMatrix是否可以扩展绘图区域以包含文本

ReturnMatrix<-matrix(c(0.024, 0.007, 0.006, 0.001, -0.001, -0.002, -0.0011))
row.names(ReturnMatrix)<-c("Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7")
space=3
plot(0,0,type="n",xlim=c(min(ReturnMatrix),1.5*max(ReturnMatrix)),ylim=c(0,(space+1)*length(ReturnMatrix)),axes="off")
bp<- barplot(ReturnMatrix, 
        beside=TRUE, 
        horiz=TRUE, 
        axes=FALSE,
        space=space,
        add=TRUE,
        col=ifelse(ReturnMatrix>0,"green","red")
)
text(ReturnMatrix,bp,signif(ReturnMatrix,1),pos=ifelse(ReturnMatrix>0,4,2), xpd=TRUE)
text(rep(1.25*max(ReturnMatrix),7),bp,row.names(ReturnMatrix), xpd=TRUE, pos=4)
# changed position to 1.25*max bar
abline(v=0)
返回矩阵
ReturnMatrix<-matrix(c(0.024, 0.007, 0.006, 0.001, -0.001, -0.002, -0.0011))
row.names(ReturnMatrix)<-c("Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7")
space=3
plot(0,0,type="n",xlim=c(min(ReturnMatrix),1.5*max(ReturnMatrix)),ylim=c(0,(space+1)*length(ReturnMatrix)),axes="off")
bp<- barplot(ReturnMatrix, 
        beside=TRUE, 
        horiz=TRUE, 
        axes=FALSE,
        space=space,
        add=TRUE,
        col=ifelse(ReturnMatrix>0,"green","red")
)
text(ReturnMatrix,bp,signif(ReturnMatrix,1),pos=ifelse(ReturnMatrix>0,4,2), xpd=TRUE)
text(rep(1.25*max(ReturnMatrix),7),bp,row.names(ReturnMatrix), xpd=TRUE, pos=4)
# changed position to 1.25*max bar
abline(v=0)