2017-05-26 97 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