R 在不同位置使用轴标签打印到ggplot中的网格线

R 在不同位置使用轴标签打印到ggplot中的网格线,r,plot,ggplot2,axis-labels,R,Plot,Ggplot2,Axis Labels,我试图绘制一个叫做曼哈顿图的东西,这是全基因组关联研究(基因组学)中的一种常见类型的图。x轴上是碱基对的位置,y轴上是-log10(p值),图上的每个点代表特定的遗传多态性(突变)。每种颜色代表一条不同的染色体 我有一个名为data\u geno的数据框,其中变量x\u pos包含沿x轴的位置,p包含p值(用于确定y轴值)和chr,它给出染色体数(从1到26)。变量last\u bp\u vec实际上包含每个染色体的最大x轴位置 从以下代码: ggplotcmd <- ggplot(dat

我试图绘制一个叫做曼哈顿图的东西,这是全基因组关联研究(基因组学)中的一种常见类型的图。x轴上是碱基对的位置,y轴上是-log10(p值),图上的每个点代表特定的遗传多态性(突变)。每种颜色代表一条不同的染色体

我有一个名为
data\u geno
的数据框,其中变量
x\u pos
包含沿x轴的位置,
p
包含p值(用于确定y轴值)和
chr
,它给出染色体数(从1到26)。变量
last\u bp\u vec
实际上包含每个染色体的最大x轴位置

从以下代码:

ggplotcmd <- ggplot(data_geno, aes(x=x_pos, y=-log10(p), color=chr)) + 
    scale_x_continuous(breaks = last_bp_vec,minor_breaks=NULL,labels=seq(26)) + 
    geom_hline(aes(yintercept=-log10(5e-08))) + 
    geom_point(shape=20, size = 1) + 
    geom_point(data=data_imp,color="black",shape=4) + 
    xlab("") + 
    theme(axis.text.x = element_text(hjust=0)) +  
    scale_color_manual(values=c("deeppink2", "orange", "green2", "blue", "yellow", 
        "purple",  "magenta", "darkgreen", "gold", "firebrick", "yellowgreen", "red", 
        "black", "turquoise3", "tomato", "darkblue", "chocolate", "violet", "slategray4", 
        "OrangeRed", "darkblue", "deeppink", "aquamarine3", "steelblue1", "mediumorchid", 
        "yellowgreen")) + 
    ggtitle(man_title)

ggplotcmd您可以将
scale_x_continuous
标签设置为与
中断
不同的值(显然要小心)。如果你用你的小网格线作为大网格线,你可能会让它看起来很正常。谢谢你的回复!我做了一个相当广泛的搜索,我找不到一个例子,有人在不同的位置设置标签的休息。您能否举例说明如何执行此操作?不要使用不同的位置、不同的数字,例如set
breaks=seq(.5,22.5,by=1),labels=1:23
。再次感谢您的回复。如果我改变断点,主要网格线也会移动,只是我想让它们保持在原来的位置。到目前为止,我找到的唯一解决方案是关闭网格线并绘制自己的“自定义”网格线。我想知道我是否遗漏了一些东西,或者网格线与记号和标签有着千丝万缕的联系。它们是联系在一起的,因此我建议使用次要的作为主要的。您可以使用
主题
设置厚度。您可以将
连续缩放
标签
设置为与
中断
不同的值(显然要小心)。如果你用你的小网格线作为大网格线,你可能会让它看起来很正常。谢谢你的回复!我做了一个相当广泛的搜索,我找不到一个例子,有人在不同的位置设置标签的休息。您能否举例说明如何执行此操作?不要使用不同的位置、不同的数字,例如set
breaks=seq(.5,22.5,by=1),labels=1:23
。再次感谢您的回复。如果我改变断点,主要网格线也会移动,只是我想让它们保持在原来的位置。到目前为止,我找到的唯一解决方案是关闭网格线并绘制自己的“自定义”网格线。我想知道我是否遗漏了一些东西,或者网格线与记号和标签有着千丝万缕的联系。它们是联系在一起的,因此我建议使用次要的作为主要的。您可以使用
主题设置厚度。