绘图形状调整为 window 的大小
plotting shape adjusting to size of window
上下文
这个问题是在 R 中绘制遗传图谱项目的一部分。
常见的表示是一个 "scale" 的水平特征,由两个半圆圈包围。 genetic map example
遗传图谱大致是一个位置序列。
目标
我正在尝试制作一个与 "ladders of the scale" 相匹配的半圆,高度可调,这样它看起来总是像一个圆,而不是某种椭圆形。
实际代码
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 查看 window 的大小制作反应形状缩放,以便形状始终看起来像一个圆圈并保持 link 在我的上方 "ladder"?
尝试
我可以手动调整绘图的大小,以便 x.axis 和 y.axis 在导出图表之前具有相同的比例,但这不是很有效,如果我有多个,将变得非常困难同一地块上的染色体。
如果需要,我很乐意回答评论,希望我的问题足够清楚!
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()
上下文
这个问题是在 R 中绘制遗传图谱项目的一部分。 常见的表示是一个 "scale" 的水平特征,由两个半圆圈包围。 genetic map example 遗传图谱大致是一个位置序列。
目标
我正在尝试制作一个与 "ladders of the scale" 相匹配的半圆,高度可调,这样它看起来总是像一个圆,而不是某种椭圆形。
实际代码
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 查看 window 的大小制作反应形状缩放,以便形状始终看起来像一个圆圈并保持 link 在我的上方 "ladder"?
尝试
我可以手动调整绘图的大小,以便 x.axis 和 y.axis 在导出图表之前具有相同的比例,但这不是很有效,如果我有多个,将变得非常困难同一地块上的染色体。
如果需要,我很乐意回答评论,希望我的问题足够清楚!
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()