如何减少ggplot2中分类y轴之间的差距下注

时间:2017-10-20 07:14:48

标签: r ggplot2

我有以下代码:

library(tidyverse)
dat <-  structure(list(motif_and_gene_name = c("FCCT", "XXX4", "XXX2", 
"FCCT", "XXX4", "XXX2", "FCCT", "XXX4", "XXX2", "FCCT", "XXX4", 
"XXX2", "FCCT", "XXX4", "XXX2", "FCCT", "XXX4", "XXX2"), tissue = c("DA", 
"DA", "DA", "MB", "MB", "MB", "VL", "VL", "VL", "UP", "UP", "UP", 
"BU", "BU", "BU", "TV", "TV", "TV"), motif_enrichment = c(4740, 
964.2, 539.2, 6634, 1860, 1150, 6312, 2146, 1432, 5336, 2282, 
1381, 2796, 1947, 1175, 8190, 1576, 926.8), expression_tpm = c(5.095, 
15.1825, 1.4225, 7.27, 23.7125, 6.85, 4.8775, 27.17, 3.0025, 
6.0025, 23.3725, 5.1425, 5.4525, 20.215, 4.695, 6.44, 22.04, 
4.24), expr_brks = structure(c(3L, 4L, 2L, 3L, 6L, 3L, 2L, 6L, 
2L, 3L, 6L, 3L, 3L, 6L, 2L, 3L, 6L, 2L), .Label = c("(-Inf,1]", 
"(1,5]", "(5,10]", "(10,16]", "(16,20]", "(20, Inf]"), class = "factor"), 
    motif_brks = structure(c(6L, 3L, 3L, 6L, 5L, 4L, 6L, 6L, 
    4L, 6L, 6L, 4L, 6L, 5L, 4L, 6L, 5L, 3L), .Label = c("(-Inf,100]", 
    "(100,500]", "(500,1e+03]", "(1e+03,1.5e+03]", "(1.5e+03,2e+03]", 
    "(2e+03, Inf]"), class = "factor")), .Names = c("motif_and_gene_name", 
"tissue", "motif_enrichment", "expression_tpm", "expr_brks", 
"motif_brks"), row.names = c(NA, -18L), class = c("tbl_df", "tbl", 
"data.frame"))

mycol <- c("#3D1E1F","#FE677E","#F19068","#E8A99D","#FCDED4")
dat %>% 
  ggplot(aes(x = tissue,y = motif_and_gene_name, size = motif_brks, color = expr_brks)) + 
  geom_point(stat = "identity")  + 
  scale_color_manual(values = colorRampPalette(mycol)(length(levels(dat$expr_brks)))) +
  xlab("") + 
  ylab("") +
  theme_bw()

产生以下情节:

enter image description here

如上图所示,如何减少间隔间距  并向上推x轴。

1 个答案:

答案 0 :(得分:2)

  

当我发现什么适用于OP时,我会清理这个答案。对不起,此刻它有点无组织。

您可以通过增加expand值来缩小y轴上的距离,此处我已将其设置为1.9

ggplot(dat, aes(tissue, motif_and_gene_name, size = motif_brks, color = expr_brks)) + 
      geom_point(stat = "identity")  + scale_y_discrete(expand = c(0, 1.9)) +
      theme_bw() + labs(x=NULL, y=NULL) +
      scale_colour_manual(values = c("#3D1E1F","#FE677E","#F19068","#E8A99D","#FCDED4"))  

ggplt2 scale_y_discrete(expand)

喜欢这个

ggplot(dat, aes(tissue, motif_and_gene_name, size = motif_brks, color = expr_brks)) +  
   geom_point(stat = "identity") + scale_y_discrete(expand = c(200, 2)) + theme_bw() + 
  theme(axis.title =element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank()) + 
     scale_colour_manual(values = c("#3D1E1F","#FE677E","#F19068","#E8A99D","#FCDED4"))")

number 2 - hi hi

可能expand不是正确的溃败,而只是ratio coord_fixed() ggplot(dat, aes(tissue, motif_and_gene_name, size = motif_brks, color = expr_brks)) + geom_point(stat = "identity") + theme_bw() + labs(x=NULL, y=NULL) + scale_colour_brewer(palette = "Set3") + coord_fixed(ratio=.5) 。喜欢这个。

<script type="application/json" id="json">
    <?php echo $thumbnails; ?>
</script>

third plots