Bar chart 条形图xlim移动轴->;到轴的偏移量=缺少中点

Bar chart 条形图xlim移动轴->;到轴的偏移量=缺少中点,bar-chart,axis,offset,Bar Chart,Axis,Offset,我有以下问题——这纯粹是一个苦行僧式的问题,但让我感到困扰的是,它看起来不太好: 我生成了一个简单的横向条形图,条形图底部有记号。默认设置生成一个比我的条形图短的x轴(图1)。为了解决这个问题,我加入了xlim。一旦我这样做,x轴会稍微向左移动,所以y轴会接触到这些条(图2)。这看起来一点也不好。我想xlim可能会覆盖一个默认参数,但我找不到。如有任何建议,我将不胜感激 rm(list=ls()) data<-c(69,500,597) names(data)<-c("text1

我有以下问题——这纯粹是一个苦行僧式的问题,但让我感到困扰的是,它看起来不太好: 我生成了一个简单的横向条形图,条形图底部有记号。默认设置生成一个比我的条形图短的x轴(图1)。为了解决这个问题,我加入了xlim。一旦我这样做,x轴会稍微向左移动,所以y轴会接触到这些条(图2)。这看起来一点也不好。我想xlim可能会覆盖一个默认参数,但我找不到。如有任何建议,我将不胜感激

rm(list=ls())


data<-c(69,500,597)
names(data)<-c("text1", "text2", "text3")

midpoints<-barplot(data, beside=T, space=1, xlim=c(0,600))

filename=paste("orig.pdf", sep="")
pdf(file=filename, width=10, height =5)

par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data))
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()

filename=paste("with_limit.pdf", sep="")
pdf(file=filename, width=10, height =5)

lim<-c(0,600)
par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data), xlim=lim)
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()
rm(list=ls())

数据与此同时,我确实找到了两个可能的答案,这两个答案都不完美,但都有效。 第一个是使用xaxs=“r”,但对于我的口味,现在偏移量太大了

filename=paste("solution1.pdf", sep="")
pdf(file=filename, width=10, height =5)

lim<-c(0,600)
par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data), xlim=lim, xaxs="r")
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()
filename=paste(“solution1.pdf”,sep=”“)
pdf(文件名=文件名,宽度=10,高度=5)
林12。对于所有其他人,我也使用了最大值的2%。最后效果很好

filename=paste("solution2.pdf", sep="")
pdf(file=filename, width=10, height =5)

lim<-c(-12,600)
par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data), xlim=lim)
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()
filename=paste(“solution2.pdf”,sep=”“)
pdf(文件名=文件名,宽度=10,高度=5)

lim与此同时,我确实找到了两个可能的答案,都不完美,但都有效。 第一个是使用xaxs=“r”,但对于我的口味,现在偏移量太大了

filename=paste("solution1.pdf", sep="")
pdf(file=filename, width=10, height =5)

lim<-c(0,600)
par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data), xlim=lim, xaxs="r")
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()
filename=paste(“solution1.pdf”,sep=”“)
pdf(文件名=文件名,宽度=10,高度=5)
林12。对于所有其他人,我也使用了最大值的2%。最后效果很好

filename=paste("solution2.pdf", sep="")
pdf(file=filename, width=10, height =5)

lim<-c(-12,600)
par(mar=c(4,9,1,4))
barplot(data, beside=T, xlab=expression(paste("Text")), 
        axes=T, cex.lab=2, cex.axis=2, cex.names=2,  font.axis = 2,
        col=c("grey"),  horiz=T, las=1, font.lab=2,  space=1, 
        names.arg=colnames(data), xlim=lim)
axis(side = 2, at = midpoints , labels = F, cex.axis=1.5)


dev.off()
filename=paste(“solution2.pdf”,sep=”“)
pdf(文件名=文件名,宽度=10,高度=5)
林