R 两行打印格式

R 两行打印格式,r,formatting,plot,rows,R,Formatting,Plot,Rows,我有以下问题: 我想在R上画一个图,两个数字在上面。然而,上面的数字应该占据大部分空间,而下面的数字应该只有一个非常低的高度(它只是用来表示“主要”数字中的特殊位置)。目前我有这个代码,但我不知道如何设置每行应该占用的空间(和) 第二个图应位于第一个图的正下方): 我必须在服务器上运行它,在那里我不知道是否有额外的包可供R使用。如果有人建议使用额外的包,我会尝试。 提前感谢您,到目前为止,我使用R中的绘图仅用于简单的直方图。使用布局: nf <- layout( c( 1, 2 ), he

我有以下问题: 我想在R上画一个图,两个数字在上面。然而,上面的数字应该占据大部分空间,而下面的数字应该只有一个非常低的高度(它只是用来表示“主要”数字中的特殊位置)。目前我有这个代码,但我不知道如何设置每行应该占用的空间(和) 第二个图应位于第一个图的正下方):

我必须在服务器上运行它,在那里我不知道是否有额外的包可供R使用。如果有人建议使用额外的包,我会尝试。 提前感谢您,到目前为止,我使用R中的绘图仅用于简单的直方图。

使用布局:

nf <- layout( c( 1, 2 ), heights= c( 10, 2 ) )
plot( ... )
plot( .... )
nf使用布局:

nf <- layout( c( 1, 2 ), heights= c( 10, 2 ) )
plot( ... )
plot( .... )

nf如@Roland所示,
layout()
比使用
par(mfrow…
更好。下面是一些基本示例,向您展示如何开始使用
layout
。这些例子都不适合你:我只是举一些例子,让你知道如何进行实验。这里还有一个有用的函数
layout.show()

  • 两块地,一块在另一块上面。第一个情节比另一个情节宽

    首先,想一个矩阵,你希望你的数字如何显示。按顺序给它们编号
    1
    =图1,
    2
    =图2,
    0
    =此空间中未绘制任何内容

         [,1] [,2] [,3] [,4]
    [1,]    1    1    1    1
    [2,]    0    2    2    0
    
    layout()
    中使用此矩阵:

  • 请注意,每个绘图的高度仍然相同。您可以使用
    heights
    参数来控制:

    layout(matrix(c(1, 1, 1, 1, 0, 2, 2, 0), 2, 4, byrow=TRUE), 
           heights = c(7, 3))
    plot(rnorm(n = 10), col = "blue", main = "plot 1", 
         cex.lab = 1.1, ylab="yname", xlab='')
    plot(rnorm(n = 10), col = "red", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="xname", ylab="")
    

  • 下面是一个有三个图的示例

    layout(matrix(c(1, 1, 2, 3), 2, 2, byrow=TRUE))
    plot(rnorm(n = 10), col = "blue", main = "plot 1", 
         cex.lab = 1.1, ylab="yname", xlab='')
    plot(rnorm(n = 10), col = "red", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="xname", ylab="")
    plot(rnorm(n = 10), col = "green", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="zname", ylab="")
    


  • 如@Roland所示,
    layout()
    在这方面比使用
    par(mfrow…
    要好得多。下面是一些基本示例,向您展示如何开始使用
    layout
    。这些例子都不适合你:我只是举一些例子,让你知道如何进行实验。这里还有一个有用的函数
    layout.show()

  • 两块地,一块在另一块上面。第一个情节比另一个情节宽

    首先,想一个矩阵,你希望你的数字如何显示。按顺序给它们编号
    1
    =图1,
    2
    =图2,
    0
    =此空间中未绘制任何内容

         [,1] [,2] [,3] [,4]
    [1,]    1    1    1    1
    [2,]    0    2    2    0
    
    layout()
    中使用此矩阵:

  • 请注意,每个绘图的高度仍然相同。您可以使用
    heights
    参数来控制:

    layout(matrix(c(1, 1, 1, 1, 0, 2, 2, 0), 2, 4, byrow=TRUE), 
           heights = c(7, 3))
    plot(rnorm(n = 10), col = "blue", main = "plot 1", 
         cex.lab = 1.1, ylab="yname", xlab='')
    plot(rnorm(n = 10), col = "red", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="xname", ylab="")
    

  • 下面是一个有三个图的示例

    layout(matrix(c(1, 1, 2, 3), 2, 2, byrow=TRUE))
    plot(rnorm(n = 10), col = "blue", main = "plot 1", 
         cex.lab = 1.1, ylab="yname", xlab='')
    plot(rnorm(n = 10), col = "red", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="xname", ylab="")
    plot(rnorm(n = 10), col = "green", main = "", cex.lab = 1.1, 
         xaxt='n', yaxt='n', xlab="zname", ylab="")
    



  • @罗兰,为什么不加上这个作为答案?@mrdwab,因为我担心我会因此得到另一个“开明”徽章。@罗兰谢谢,很难找到一个很好的解释矩阵参数是如何工作的。@user1448268,我希望我的解释能帮助你理解如何使用矩阵参数。当以不同的尺寸布置复杂的图形集时,它会非常强大(有时,我发现先在纸上绘制布局可以帮助我找出我需要的正确矩阵)。@Roland,为什么不加上这个作为答案?@mrdwab,因为我担心我会得到另一个“启发”谢谢你。@Roland,很难找到一个好的解释来解释矩阵参数是如何工作的。@user1448268,我希望我的解释能帮助你理解如何使用矩阵参数。当把复杂的图形以不同的尺寸排列时,它会非常强大(有时,我发现先在纸上画布局可以帮助我找出我需要的正确矩阵)。谢谢你的详细解释:)谢谢你的详细解释:)谢谢你,这真的帮助了我。使用“heights=c(2,1)”,它现在看起来几乎完美了,但问题是两个图之间仍然有很多空白(可能是因为我刚刚将上部图的x标签和下部图的标题设置为“”?)@user1448268:在@Roland风格的回答中,请参见
    mar
    中的“
    mai
    ;默认的
    mar
    c(5,4,4,2)+0.1
    (就文本行而言),这就足够了。太好了,谢谢!现在剩下的是减少xlabel和绘图之间的空间。但我希望我能自己解决这个问题。谢谢你,这真的帮了我的忙。使用“heights=c(2,1)”,它现在看起来几乎完美了,但问题是两个图之间仍然有很多空白(可能是因为我刚刚将上部图的x标签和下部图的标题设置为“”?)@user1448268:在@Roland风格的回答中,请参见
    mar
    中的“
    mai
    ;默认的
    mar
    c(5,4,4,2)+0.1
    (就文本行而言),这就足够了。太好了,谢谢!现在剩下的是减少xlabel和绘图之间的空间。但我希望我能自己解决这个问题。