R 如何在ggplot2中调整X轴标签位置
我一直在努力定制ggplot2生成图形的标签。最初,轴心是HabFac,它只有三层。然而,我需要x轴按HabFac进行分组,但它的标签是其他的R 如何在ggplot2中调整X轴标签位置,r,ggplot2,R,Ggplot2,我一直在努力定制ggplot2生成图形的标签。最初,轴心是HabFac,它只有三层。然而,我需要x轴按HabFac进行分组,但它的标签是其他的 因此,我将x轴的极限增加到7 使用“缩放x离散”链接新的限制和标签 但这不起作用。。。 看起来标签和盒子的比例不同。我试图指定中断,但没有帮助 非常感谢您的帮助 代码: 编辑 下面是一些简化的数据 structure(list(Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1
中断
,但没有帮助
非常感谢您的帮助
代码:
编辑
下面是一些简化的数据
structure(list(Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Barking treefrog",
"Cricket frog"), class = "factor"), Chemical = structure(c(1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L,
5L, 5L), .Label = c("A", "B", "C", "D", "E"), class = "factor"),
logTissueConc = c(-1.10922426, -1.55698525, -0.67977088,
-1.22868756, -0.47476868, -0.89399639, -1.35670286, -2.35421158,
-2.49491771, -2.30921816, 2.06394108, 1.84732292, 1.62127641,
1.7299181, 1.72845824, -0.42136482, -0.03384518, -0.76756916,
-0.77322993, -1.20469607, -1.31449937, -1.52823116, -1.94002471,
-1.29272381, -1.75399776, -3, -0.5, -0.98828589, -1.2, -0.7,
0.73098756, 0.56309363, 0.55666185, 0.3785305, 0.31730552
), HabFac = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Aquatic",
"Arboreal"), class = "factor")), .Names = c("Species", "Chemical",
"logTissueConc", "HabFac"), class = "data.frame", row.names = c(NA,
-35L))
当x轴是一个
因子时,标签是a
b
c
还是1
2
3
并不重要。无论哪种方式,刻度都是离散的,因此指定1.25
没有意义,就像a.43
没有意义一样。您需要一个因子来表示分组(可能是HabFac
)和另一个因子来表示各个级别。然后,您可以基于HabFac
使用fill
颜色,或者使用facet\u wrap
与HabFac
一起使用aes(x=
单个因子水平。@shujaa感谢您的回复。我认为应该有一种方法可以直接修改这些x标签的位置。就像我可以使用ggplot_gtable(p_TT)$data[[1]]更改框的位置一样$x
如果您只想更改HabFac
每一级别的标签,通常的方法就是重命名HabFac
的级别。您的意思是将HabFac
的级别从3增加到7,然后重命名它们吗?您能更具体一点吗?谢谢!我不知道HabFac
的级别或标签是什么>是的,所以我不能具体说明。给出一些带有dput
的示例数据和所需的输出,然后我们可以讨论细节。
structure(list(Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Barking treefrog",
"Cricket frog"), class = "factor"), Chemical = structure(c(1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L,
5L, 5L), .Label = c("A", "B", "C", "D", "E"), class = "factor"),
logTissueConc = c(-1.10922426, -1.55698525, -0.67977088,
-1.22868756, -0.47476868, -0.89399639, -1.35670286, -2.35421158,
-2.49491771, -2.30921816, 2.06394108, 1.84732292, 1.62127641,
1.7299181, 1.72845824, -0.42136482, -0.03384518, -0.76756916,
-0.77322993, -1.20469607, -1.31449937, -1.52823116, -1.94002471,
-1.29272381, -1.75399776, -3, -0.5, -0.98828589, -1.2, -0.7,
0.73098756, 0.56309363, 0.55666185, 0.3785305, 0.31730552
), HabFac = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Aquatic",
"Arboreal"), class = "factor")), .Names = c("Species", "Chemical",
"logTissueConc", "HabFac"), class = "data.frame", row.names = c(NA,
-35L))