【问题标题】:How to set limits of grid in barplot?如何在条形图中设置网格限制?
【发布时间】:2021-11-19 19:31:30
【问题描述】:

我试图在我的条形图中放置网格,但它们出现在数据前面而不是背景中。我试图解决这个问题

panel.first = grid()

至于我要绘制的数据,第一列由年份数字(2014-2021)组成,第二列是相应的值(所有向量类都是数字)。尝试使用以下代码进行绘图时:

par(mfrow=c(1,2))

barplot(mean_trend[,2],names.arg = mean_trend[,1],col="skyblue",ylim = c(0.1,95),cex=0.8,cex.names=0.85,las=2,cex.lab=0.85,lwd=1.5,panel.first = grid())
mtext(side=2,line=2.3, "Average amount in mm", font=2, cex=0.8)
box(lwd=1.5)

barplot(freq_trend[,2],names.arg = freq_trend[,1],col="skyblue",ylim = c(2,4500),cex=0.85,cex.names=0.85,las=2,cex.lab=0.85,lwd=1.5,panel.first = grid())
box(lwd=1.5)
mtext(side=2,line=3.3, "Average flood frequency", font=2, cex=0.8)

我得到以下结果

如您所见,网格现在位于绘制数据的后面,但超出了框/图的限制。我该如何解决这个问题?

亲切的问候

【问题讨论】:

    标签: r grid bar-chart limit


    【解决方案1】:

    由于您没有添加数据mean_trend - 我举了一个其他数据的例子。

    关于add 和其他参数 - 你可以阅读?barplot

    # One row, two columns
    par(mfrow = c(1, 2))
    
    #PLOT1
    barplot(table(mtcars$cyl), main = "PLOT 1", col = c("yellow", "green", "red"), ylim = c(0, 15))
    grid(nx = NULL, ny = NULL, lwd = 1, lty = 1, col = "gray")
    barplot(table(mtcars$cyl), col = c("yellow", "green", "red"), ylim = c(0, 15), add = TRUE)
     
    #PLOT2
    barplot(table(mtcars$cyl), main = "PLOT 2", col = c("yellow", "green", "red"), ylim = c(0, 15))
    grid(nx = NULL, ny = NULL, lwd = 1, lty = 1, col = "gray")
    barplot(table(mtcars$cyl), col = c("yellow", "green", "red"), ylim = c(0, 15), add = TRUE)
    

    【讨论】:

    • 这行得通,谢谢!只是出于好奇,最后一个par(mfrow=c(1,1)的目的是什么?
    • @LuukS 糟糕,忘记删除了。这是多余的。如果我帮助了你,你可以接受我的回答;)
    猜你喜欢
    • 1970-01-01
    • 2016-01-12
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多