2017-05-26 66 views
0

我正在使用barplot绘制两个变量。一切工作正常,除了当我添加左侧的y轴,值超出范围,它被切断。我试图看看是否应该使用par修复图形视图,但它不起作用。 这里是我的脚本我做了情节的Y轴用轴功能切割

barplot(t(as.matrix(prey[, c("weasels", "voles")])), axisnames=FALSE,names.arg=NULL,yaxt= "n",beside = TRUE) 
axis(1, cex.axis=0.8, at = c(2,5,8,11,14,17,20,23,26),line=0.4,labels = c("2003","2004","2005","2006","2007","2008","2014","2015","2016"), 2) 
axis(2, cex.axis=0.8,at = c(0, 5,10,15,20,25,30,35,40),labels = round(c(0, 5,10,15,20,25,30,35,40)), 2) 
axis(4, cex.axis=0.8,at = c(0, 5,10,15,20,25,30),labels = round(c(0, 5,10,15,20,25,30)), 2) 

图片:

Plot I made

回答

0

更改您的barplot的使用ylim参数的限制:

barplot(t(as.matrix(prey[, c("weasels", "voles")])), axisnames=FALSE,names.arg=NULL,yaxt= "n",beside = TRUE, ylim=c(0,40)) 
+0

谢谢@Dash 。如果你知道答案,我仍然有一个问题。我给我的barplot添加了一个阴谋。我为这个图添加了一个y轴,但它不符合barplot的y轴的比例。它有点偏移。 – Broccoli

+0

这里是脚本'barplot(t(as.matrix(prey [,c(“weasels”,“voles”)])),cex.axis = 0.8,ylim = c(0,35),axisnames = FALSE, names.arg = NULL,旁边= TRUE) x =轴(1,cex.axis = 0.8,at = c(2,5,8,11,14,17,20,23,26),线= 0.4,标签= c(“2003”,“2004”,“2005”,“2006”,“2007”,“2008”,“2014”,“2015”,“2016”),2) par(new = T) plot(prey $ snow,xaxt =“n”,lty = 3,lwd = 2,col = c(“black”),yaxt =“n”,ylab =“”,xlab =“”,type =“c “,frame = F,ylim = c(0,120)) points(predy $ snow,col =”darkblue“,lwd = 2) axis(4,cex.axis = 0.8,yaxp = c(0,35,by = 7),at = seq(0,120,by = 10),labels = seq(0,120,by = 10),2)' – Broccoli

+0

我不确定要理解你的问题,但我会尝试无论如何回答barplot的提示。例如 'barplot(c(3,4,2,5,6))' 不在x坐标1,2,3,4,5处绘制条形,而是在x坐标0.7,1.9,3.1,4.3,5.5。 x坐标可以通过 'x_coord < - barplot(c(3,4,2,5,6))' 这可以用于将其他元素适用于您的barplot。 – Dash