这个问题是在R中绘制遗传图谱的项目的一部分。 共同表示是由两个半圆界定的水平特征的“比例”。 genetic map example 遗传图大致是一系列位置。
我正在尝试制作一个半圆形,与“刻度梯”相匹配,并且可调高,这样它总是看起来像一个圆形而不像某种椭圆形。
library(ggforce)
df <- data.frame(position=rnorm(n=15)*10)
ggplot(aes(xmin=-2.5,ymin=position-0.1,xmax=2.5,ymax=position+0.1),data=df)+
geom_rect() +
geom_arc_bar(aes(x0 = 0, y0 = max(position), r0 = 0, r = 2.5, start =-pi/2,end = pi/2), color = "grey20")+
geom_arc_bar(aes(x0 = 0, y0 = min(position), r0 = 0, r = 2.5, start = pi/2,end = 3*pi/2), color = "grey20")
所以我的问题是:如何使用Rplot查看窗口的大小进行反应性缩放,以使形状始终看起来像一个圆圈并保持链接到我的上层“梯子”?
我可以手动调整绘图的大小,使x.axis和y.axis在导出图形之前具有相同的比例但是这不是很有效,如果我在同一个图上有多个染色体,那将变得非常困难。
如果需要,我很乐意回答评论,并希望我的问题足够清楚!
答案 0 :(得分:2)
coord_fixed
将确保x
和y
始终按比例缩放为1:1,即使重新缩放图表也是如此。
ggplot(aes(xmin=-2.5,ymin=position-0.1,xmax=2.5,ymax=position+0.1),data=df)+
geom_rect() +
geom_arc_bar(aes(x0 = 0, y0 = max(position), r0 = 0, r = 2.5, start =-pi/2,end = pi/2), color = "grey20")+
geom_arc_bar(aes(x0 = 0, y0 = min(position), r0 = 0, r = 2.5, start = pi/2,end = 3*pi/2), color = "grey20") +
coord_fixed()