R 面_包裹打印不正确的x轴坐标
我就是不明白 这是我的基因组数据R 面_包裹打印不正确的x轴坐标,r,ggplot2,R,Ggplot2,我就是不明白 这是我的基因组数据 structure(list(chr = c(10, 10, 11, 12, 13, 13, 17, 2, 20, 22, 3, 3, 4, 4, 4, 4, 5, 7, 7, 8), leftPos = c(240000, 24840000, 7200000, 6120000, 14880000, 18120000, 8760000, 53280000, 10680000, 8640000, 13320000, 46920000, 12000000, 1
structure(list(chr = c(10, 10, 11, 12, 13, 13, 17, 2, 20, 22,
3, 3, 4, 4, 4, 4, 5, 7, 7, 8), leftPos = c(240000, 24840000,
7200000, 6120000, 14880000, 18120000, 8760000, 53280000, 10680000,
8640000, 13320000, 46920000, 12000000, 13560000, 16680000, 30360000,
16440000, 2280000, 31560000, 28320000), Means.x = c(255.903115167852,
250.944147412273, 221.51819750622, 351.093122004609, 289.007439556107,
219.45204288982, 225.535183746474, 457.871356482534, 253.497055532121,
252.20121505887, 342.200678275566, 373.699212483745, 1014.42590543955,
221.696823711274, 240.80888805777, 249.180706358065, 284.401983997314,
269.740366732235, 278.570789472848, 280.990393375634), Def.x = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), Means.y = c(236.86281805995,
226.558139428814, 242.372785637286, 250.366569266078, 300.979628259253,
241.055506095359, 227.580531582224, 373.326888100031, 212.752136489909,
422.948449610324, 224.089190457845, 310.029877851832, 1014.42590543955,
249.285880751277, 285.16587617125, 230.051744541219, 221.151463979895,
289.409617875006, 317.10711734718, 262.296533161901), Def.y = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)), .Names = c("chr",
"leftPos", "Means.x", "Def.x", "Means.y", "Def.y"), row.names = c(NA,
-20L), class = "data.frame")
我试图简单地根据每个染色体的位置(leftPos)绘制1的值
但是,使用以下代码:
ggplot(ZoutliersM,aes(x = ZoutliersM$leftPos,y = as.numeric(ZoutliersM$Def.x),
xend=ZoutliersM$leftPos,yend=0))+
geom_point(fill="magenta",size=2,colour="red")+
facet_wrap(~ chr)
我得到的情节如下:
这看起来不错,但这些点在x轴上的位置并不正确。例如,根据数据集,染色体22有一个点
chr leftPos Means Def
22 8640000 422.9484 1
但当我看这幅图时,它大约在20米到30米之间
为什么会这样绘制,我如何更正它?就好像x轴刻度与图表无关
ggplot
有一个数据
参数是有原因的。当您在aes()
中重新指定数据帧时,它将覆盖对镶嵌面的子集设置和排序。只要不重新指定数据帧的名称(nomydata$column
),一切正常:
ggplot(ZoutliersM,
aes(x = leftPos,
y = as.numeric(Def.x),
xend = leftPos,
yend = 0)) +
geom_point(fill = "magenta", size = 2, colour = "red") +
facet_wrap(~chr)
现在我们可以看到,在“22”面上,点有点低于10米,正如预期的那样
其他两项说明:
- 为
geom_点指定“fill”(填充)不会起任何作用,除非您还使用具有单独填充和颜色的形状,例如
shape=21
- 在您的
数据中,dput
已经是数字,因此您不需要转换它。如果它以前是一个因子,请确保使用Def.x
,否则您只需将级别而不是值转换为numeric转换为.numeric(as.character(Def.x))