1

我在 R 知识中倒退。请帮忙!

示例数据:

Site, Aluminum_Dissolved, Federal_Guideline
M1, 0.1, 0.4
M1, 0.2, 0.4
M1, 0.5, 0.4
M2, 0.6, 0.4
M2, 0.4, 0.4
M2, 0.3, 0.4

我有一个简单的功能:

boxplot(ExampleData$Aluminum_Dissolved ~ ExampleData$Site, col="purple", 
        par (cex.axis=2, las=2), mar=c(7,4,4,2)+0.1

X 和 Y 轴标签:

一旦我将轴上的值增加这么多,我的 xlab 和 ylab 就会被轴文本遮挡。

  1. 我试过使用:

    `mpg=c(3,1,0)` 
    

    并更改值,但这似乎与保证金增加混淆了

    `mar=c(7,4,4,2)+0.1`
    
  2. 我尝试完全废弃xlabandylab并使用mtext,但我无法在与 y 轴平行的轴文本之外给我标签。我努力了:

    `mtext("Dissolved Aluminum", side=2, adj=0, las)` etc....
    

x 轴上的 45 度文本:

最后,我尝试重建我的 x 和 y 轴但无济于事,我似乎无法使用 SRT 函数将我的 x 轴标签旋转 45 度。我努力了:

boxplot(ExampleData$Aluminum_Dissolved ~ ExampleData$Site, col="purple",
        xaxt='n', yaxt='n', axis(2, cex.axis=2, xlab="Dissolved Aluminum"),
axis(1, cex.axis=2, srt=45)

这不起作用。我错过了什么。有没有一种简单的方法可以做到这一点我错过了......

4

2 回答 2

2

快速教程:

在基本 R 图形中绘图的方式通常被认为是“纸上笔”模型。这意味着您调用的每个函数都会“在”您之前创建的内容上绘制。图形参数既可以通过调用预先par设置,也可以直接传递给绘图函数(有一些警告)。例如,我会这样做:

par(cex.axis=2, las=2,mar=c(7,4,4,2)+0.1)
boxplot(Aluminum_Dissolved ~ Site,data = dat, 
        col="purple",ylab = "Dissolved Aluminum",xlab = "Dissolved Aluminum")

如果您想要自定义轴,您将执行以下操作:

par(cex.axis=2, las=2,mar=c(7,4,4,2)+0.1)
boxplot(Aluminum_Dissolved ~ Site,data = dat, 
        col="purple",ylab = "Dissolved Aluminum",xlab = "Dissolved Aluminum",axes = FALSE)
axis(...)

随后调用(在单独的线上)分别向图形添加点或线pointslines

需要注意的par是,某些参数只能通过直接调用来设置par,而不是通过将它们作为命名参数传递给绘图函数。有一个列表(其中包括mar)位于?par

于 2013-05-16T21:28:56.097 回答
-1

@joran 是对的——我想我只是弄乱了函数的顺序。尽管使用此代码的文本大小更大,但我仍使轴标签工作:

    boxplot(ExampleData$Aluminum_Dissolved ~ ExampleData$Site, col="purple", par(cex.axis=2, cex.lab=1.8), ylab="Dissolved Aluminum")

唯一的问题是标签非常接近文本,但没关系。

于 2013-05-16T21:12:18.910 回答