R 对ggplot进行如此更改

R 对ggplot进行如此更改,r,ggplot2,R,Ggplot2,我有这样的数据 > dput(x) structure(list(gene = c("14q", "20q", "18q", "4q", "21p", "21q", "5q", "22q", "17p", "3p", "9p", "4p", "

我有这样的数据

> dput(x)
structure(list(gene = c("14q", "20q", "18q", "4q", "21p", "21q", 
"5q", "22q", "17p", "3p", "9p", "4p", "9q", "19q", "10q", "15q", 
"16p", "19p", "1p", "18p", "16q", "8p"), CNV = c("Deletion", 
"Amplification", "Deletion", "Deletion", "Deletion", "Deletion", 
"Deletion", "Deletion", "Deletion", "Deletion", "Deletion", "Deletion", 
"Deletion", "Deletion", "Deletion", "Deletion", "Deletion", "Deletion", 
"Deletion", "Deletion", "Deletion", "Deletion"), log10_pvalue = c(1.197226275, 
1.88941029, 5.974694135, 5.73754891, 4.995678626, 4.970616222, 
4.793174124, 4.793174124, 4.109020403, 3.524328812, 3.524328812, 
2.823908741, 2.567030709, 2.186419011, 1.769551079, 1.59345982, 
1.59345982, 1.59345982, 1.416801226, 1.195860568, 1.094743951, 
1.087777943), Percentage_altered = c(3000, 5000, 6100, 5300, 
6100, 5600, 4400, 5000, 5000, 4400, 5000, 4700, 3900, 2800, 3300, 
3100, 3300, 3100, 2200, 3600, 3300, 3300), group = c("Responders", 
"Responders", "Non-responders", "Non-responders", "Non-responders", 
"Non-responders", "Non-responders", "Non-responders", "Non-responders", 
"Non-responders", "Non-responders", "Non-responders", "Non-responders", 
"Non-responders", "Non-responders", "Non-responders", "Non-responders", 
"Non-responders", "Non-responders", "Non-responders", "Non-responders", 
"Non-responders")), row.names = c(NA, -22L), class = "data.frame")
我用过这个代码

> p=x %>% 
Warning messages:
1: ggrepel: 6 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
2: ggrepel: 6 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
+     mutate(net_frequency=ifelse(CNV == "Deletion", -Percentage_altered/100, Percentage_altered/100),
+            log10_pvalue = if_else(CNV == "Deletion", log10_pvalue, log10_pvalue)) %>% 
+     ggplot(aes(x = log10_pvalue, y = net_frequency, color = log10_pvalue)) +
+     geom_point(aes(size=Percentage_altered)) +
+     geom_text_repel(aes(label=gene), force=15) +
+     geom_hline(yintercept=0, lty=2) +
+     scale_color_distiller(type = "div",palette = 5) +
+     theme_classic() +
+     facet_wrap(~group)
> p+xlab("-log10(qvalue)")+ylab("Net frequency of gain and deletion (%)")+theme(
+     plot.title = element_text(color="black", size=14, face="bold.italic"),
+     axis.title.x = element_text(color="black", size=14, face="bold"),
+     axis.title.y = element_text(color="black", size=14, face="bold")
+ )+theme(axis.text.x = element_text(face="bold", color="black", 
+                                    size=14),
+         axis.text.y = element_text(face="bold", color="black", 
+                                    size=14))
策划这样的事情

我这里有些问题

1-你在这里看到,染色体臂的大小,如
1p
14q
,如果太小太容易阅读,甚至颜色也会导致一些臂无法阅读。我怎样才能使这些元素的文本大小变大

2-如何从Y轴中删除负号
(60和30而不是-30和-60)

3-我如何将图例标题从
百分比更改
更改为
频率更改
log10\u pvalue
更改为
-log10(qvalue)

事先非常感谢

  • geom\u repel\u文本(…,大小=15)

  • 编写一个使用
    abs
    的“labeller”函数

    注意:也许你的意思是否定所有,而不仅仅是绝对值?在这种情况下,您可以使用
    `-`
    而不是
    abs
    ,也可以使用
    缩放y\U反转

  • 连续缩放(name=“qux”,…)

  • p%
    变异(
    净频率=如果其他(CNV==“删除”、-改变百分比/100、改变百分比/100),
    log10\u pvalue=如果其他(CNV=“删除”,log10\u pvalue,log10\u pvalue)#?保留
    ) %>% 
    ggplot(aes(x=对数10μp值,y=净频率,颜色=对数10μp值))+
    几何点(aes(尺寸=改变百分比))+
    几何文本排斥(aes(标签=基因),尺寸=15,力=15)+
    #                                  ^^^^ 1
    geom_hline(yintercept=0,lty=2)+
    连续缩放(标签=绝对值)+
    #                  ^^^^^^ 2
    刻度颜色蒸馏器(name=“-log10(qvalue)”,type=“div”,调色板=5)+
    #                     ^^^^ 3
    比例大小连续(名称=“频率改变”)+
    #                     ^^^^ 3
    主题(经典)+
    面_包裹(~组)
    p+
    实验室(x=“-log10(qvalue)”,y=“净增加和删除频率(%)”)+
    主题(
    plot.title=元素\文本(color=“black”,size=14,face=“bold.italic”),
    axis.title.x=元素\文本(color=“black”,size=14,face=“bold”),
    axis.title.y=元素\文本(color=“black”,size=14,face=“bold”),
    axis.text.x=元素\文本(face=“bold”,color=“black”,size=14),
    axis.text.y=元素\文本(face=“bold”,color=“black”,size=14)
    )
    

    (您需要为您的报告媒体找到合适的
    大小=
    ,此处仅为强调而夸大。)

    顺便说一句,Stack的搜索引擎可以进行调整,以提供知情的结果

  • 产生
  • 产生
  • 产生
  • geom\u repel\u文本(…,大小=15)

  • 编写一个使用
    abs
    的“labeller”函数

    注意:也许你的意思是否定所有,而不仅仅是绝对值?在这种情况下,您可以使用
    `-`
    而不是
    abs
    ,也可以使用
    缩放y\U反转

  • 连续缩放(name=“qux”,…)

  • p%
    变异(
    净频率=如果其他(CNV==“删除”、-改变百分比/100、改变百分比/100),
    log10\u pvalue=如果其他(CNV=“删除”,log10\u pvalue,log10\u pvalue)#?保留
    ) %>% 
    ggplot(aes(x=对数10μp值,y=净频率,颜色=对数10μp值))+
    几何点(aes(尺寸=改变百分比))+
    几何文本排斥(aes(标签=基因),尺寸=15,力=15)+
    #                                  ^^^^ 1
    geom_hline(yintercept=0,lty=2)+
    连续缩放(标签=绝对值)+
    #                  ^^^^^^ 2
    刻度颜色蒸馏器(name=“-log10(qvalue)”,type=“div”,调色板=5)+
    #                     ^^^^ 3
    比例大小连续(名称=“频率改变”)+
    #                     ^^^^ 3
    主题(经典)+
    面_包裹(~组)
    p+
    实验室(x=“-log10(qvalue)”,y=“净增加和删除频率(%)”)+
    主题(
    plot.title=元素\文本(color=“black”,size=14,face=“bold.italic”),
    axis.title.x=元素\文本(color=“black”,size=14,face=“bold”),
    axis.title.y=元素\文本(color=“black”,size=14,face=“bold”),
    axis.text.x=元素\文本(face=“bold”,color=“black”,size=14),
    axis.text.y=元素\文本(face=“bold”,color=“black”,size=14)
    )
    

    (您需要为您的报告媒体找到合适的
    大小=
    ,此处仅为强调而夸大。)

    顺便说一句,Stack的搜索引擎可以进行调整,以提供知情的结果

  • 产生
  • 产生
  • 产生

  • 以下是你问题的一些答案

    虽然我不知道为什么要删除y轴上的减号

    对于
    geom_tex_repel
    你可以玩
    nudge_..
    重叠
    ,你应该看看幻象包的小插图

    比例和图例.title的更改将在代码中注释

    也许你可以用去掉负号后的理性来回应

    
    图书馆(tidyverse)
    图书馆(ggrepel)
    df%>%
    变异(
    净频率=ifelse(CNV==“删除”,
    -更改百分比/100,更改百分比/100
    ),
    log10\u pvalue=if\u else(CNV==“删除”,log10\u pvalue,log10\u pvalue)
    ) %>%
    ggplot(aes(x=对数10μp值,y=净频率,颜色=对数10μp值))+
    几何点(aes(尺寸=改变百分比))+
    #玩轻推和重叠
    几何图形文本排斥(aes(标签=基因),力=15,微移x=5,最大重叠=Inf)+
    geom_hline(yintercept=0,lty=2)+
    刻度盘颜色蒸馏器(type=“div”,调色板=5)+
    #在这里您可以更改勾号标签
    连续缩放(
    中断=顺序(-60,60,30),
    标签=c(“60”、“30”、“0”、“30”、“60”)
    ) +
    主题(经典)+
    #在这里您可以更改图例的标题
    导轨(尺寸=导轨\图例(title=“频率改变”))+
    面_包裹(~组)
    

    以下是对您的问题的一些回答

    虽然我不知道你为什么要删除