代码之家  ›  专栏  ›  技术社区  ›  Tamra.y

在正负geom_条上贴标签

  •  14
  • Tamra.y  · 技术社区  · 7 年前

    ggplot .

    dat <- read.table(text = "sample Types Value
    sample1 A   -36
    sample2 B   31
    sample1 C   15
    sample2 D   -12
    sample1 E   27
    sample2 F  16
    sample2 G  -10
    sample2 H  2
    sample2 I  6
    sample2 J  -7
    sample2 K  -8"
    , header=TRUE)
    
    library(ggplot2)    
    px <- ggplot(data = dat , aes(x = Types , y = Value , Colour = Types ))
    px + geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
      geom_text(aes(label=Value), position=position_dodge(width=0.9), hjust= -.25,vjust=0.25 ,size =3.5 , angle = 90)
    

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  16
  •   pogibas    7 年前

    geom_text y = Value + 2 * sign(Value)

    library(ggplot2)
    ggplot(dat, aes(Types, Value)) + 
        geom_bar(stat = "identity" ,color = "#FFFFFF" , fill = "dodgerblue3") +
        geom_text(aes(y = Value + 2 * sign(Value), label = Value), 
                  position = position_dodge(width = 0.9), 
                  size = 3.5 , angle = 90)
    

    enter image description here

    我在绘图上做的另一个带有轻微视觉调整的绘图:

    ggplot(dat, aes(Types, Value)) + 
        geom_bar(stat = "identity", color = "black" , fill = "grey", 
                 size = 0.7, width = 0.9) +
        geom_text(aes(y = Value + 2 * sign(Value), label = Value), 
                  position = position_dodge(width = 0.9), 
                  size = 5) +
        theme_classic() +
        theme(axis.text.x = element_text(size = 12),
              axis.title = element_text(size = 20),
              axis.text.y = element_blank(),
              axis.line = element_blank(),
              axis.ticks = element_blank())
    

    enter image description here

    推荐文章