相关疑难解决方法(0)

在ggplot中对齐绘图区域

我正在尝试使用grid.arrange在ggplot生成的同一页面上显示多个图形.这些图使用相同的x数据但具有不同的y变量.由于y数据具有不同的比例,因此图表具有不同的尺寸.

我尝试在ggplot2中使用各种主题选项来更改绘图大小并移动y轴标签,但没有一个能够对齐绘图.我想将这些图排列成2 x 2的正方形,这样每个图都是相同的大小,x轴对齐.

这是一些测试数据:

A <- c(1,5,6,7,9)
B <- c(10,56,64,86,98)
C <- c(2001,3333,5678,4345,5345)
D <- c(13446,20336,24333,34345,42345)
L <- c(20,34,45,55,67)
M <- data.frame(L, A, B, C, D)
Run Code Online (Sandbox Code Playgroud)

我用来绘制的代码:

x1 <- ggplot(M, aes(L, A,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x2 <- ggplot(M, aes(L, B,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x3 <- ggplot(M, aes(L, C,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
x4 <- ggplot(M, aes(L, D,xmin=10,ymin=0)) + geom_point() + stat_smooth(method='lm')
grid.arrange(x1,x2,x3,x4,nrow=2)
Run Code Online (Sandbox Code Playgroud)

如果运行此代码,您将看到由于y轴单位的长度较大,底部两个图的绘图区域较小.

如何使实际绘图窗口相同?

r ggplot2

21
推荐指数
3
解决办法
8641
查看次数

在ggplot2中设置facet的绝对大小

我正在为报告创建几个刻面图.刻面的数量在2到8之间变化.理想情况下,我希望每个刻面的绝对大小(跨越图表)是相同的(例如4x4厘米),以便更容易比较它们(它看起来也更好) ).

那可能吗?

df1 <- structure(list(group1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,1L, 1L, 1L, 1L, 1L), .Label = c("S1", "S2"), class = "factor"), group = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), .Label = c("A", "B", "C", "D", "E"), class = "factor"), value = 1:12), class = "data.frame", row.names = c(NA, -12L), .Names = c("group1", "group", "value"))

df2 <- structure(list(group1 = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("S1", "S2"), …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 facet-wrap

14
推荐指数
1
解决办法
1288
查看次数

网格单元向量中的元素替换

我已经被这几次困惑了,所以对于其他可能偶然遇到同样问题的人来说,这是一个问题.

考虑这个网格单位向量,

a = unit(1:3, c("cm", "in", "npc"))
Run Code Online (Sandbox Code Playgroud)

我想用新值替换一些元素.自然的方法是,

a[1] = unit(2,"pt")
a
# [1] 2cm  2in  3npc
Run Code Online (Sandbox Code Playgroud)

出了点问题:只更改了数值,而不是单位.为什么?该怎么办?

编辑:正如下面的一个答案所指出的,这些单位只是带有属性的数字向量.但是,它们的后代unit.arithmeticunit.list应该被认为是完全通用的解决方案(例如,用于调整ggplot对象的面板大小).考虑这个单位向量,

(b = a + unit(1, "npc"))
# [1] 1cm+1npc  2in+1npc  3npc+1npc
# [1] "unit.arithmetic" "unit"   
Run Code Online (Sandbox Code Playgroud)

现在替换特定元素更加棘手,因为它们不再是原子元素.

r r-grid

5
推荐指数
1
解决办法
278
查看次数

标签 统计

r ×3

ggplot2 ×2

facet-wrap ×1

r-grid ×1