使用knitr为2个小区定制布局。

问题描述 投票:0回答:1

我想要的是在一行中显示2个相邻的数字,这样第一个数字是正方形的,而第二个数字占据了所有剩余的宽度,它应该比第一个数字更宽(我使用的是 knitr 和LaTeX)。)

我试着用 r layout 并说明 out.widthout.height 在图块选项中,但我不能正确地配置,我不知道这是正确的方法。

而且一般情况下,在图块选项中配置图块大小比较好吧?但是对于比较复杂的剧情布局,最好的方法是什么呢?

r plot latex knitr scatter-plot
1个回答
0
投票

widths ='和'ncol ='参数,为了在同一条线上呈现几个图(高度相同),每个图都有自己的宽度。

A) 例如,在同一行上渲染2个图形,高度完全相同,但第一个图形的宽度是第二个图形的3倍。在同一行渲染2个图形,高度完全相同,但第一个图形比第二个图形大3倍(widhts=3)(widths=1)。假设在你的环境中,有2个ggplots-graphics事先分配给graph1 & graph2对象。

> gridExtra::grid.arrange(name = 'onelinegraph',
>                         gridExtra::arrangeGrob(graph1,graph2,
>                                                ncol=2, 
>                                                widths = c(3,1)
>                                                 )
>                          )

B) 你也许想用这种方式嵌套几条线。为了使每条线都有几个图,你必须 "逐条 "设计你的gridExtra-plot。例如如果你想在整条线上画一个图(graph0是一个ggplot对象),那么在第二条线上画两个并排的图(graph1 & graph2)。

gridExtra::grid.arrange(name = '2linesgraph', 
                        nrow=2,
                        graph0,
                        gridExtra::arrangeGrob(ncol=2,
                                               widths = c(3,1)
                                               graph1, 
                                               graph2, 
                                               )
                          )

这里,第一行比第二行有相同的高度(图1 & 图2并排)。第二条线就像前面的一样 如:同一条线上的两个地块,其中一个比另一个大3倍。 :在同一条线上的这2个图中,有一个图比另一个图大3倍。

C) 最后但并非最不重要的,你可以在grid.arrange()调用中嵌套几个arrangeGrob(),以便为你的图形的每一行指定不同的dims。

问候。

© www.soinside.com 2019 - 2024. All rights reserved.