【问题标题】:ggplot2 Scatter Plot Labelsggplot2 散点图标签
【发布时间】:2010-12-21 11:07:55
【问题描述】:

我正在尝试使用 ggplot2 创建和标记散点图。我绘制的变量都进行了缩放,使得水平轴和垂直轴以标准偏差为单位绘制(1、2、3、4,...等均值)。我想要做的是只标记那些超出平均值标准偏差的特定限制的元素。理想情况下,此标签将基于另一列数据。

有没有办法做到这一点?

我浏览了在线手册,但找不到任何关于为绘图数据定义标签的信息。

感谢您的帮助!

谢谢!

BEB

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    使用子集:

    library(ggplot2)
    x <- data.frame(a=1:10, b=rnorm(10))
    x$lab <- letters[1:10]
    ggplot(data=x, aes(a, b, label=lab)) + 
      geom_point() + 
      geom_text(data = subset(x, abs(b) > 0.2), vjust=0)
    

    【讨论】:

      【解决方案2】:

      标签可以通过以下方式完成:

      library("ggplot2")
      x <- data.frame(a=1:10, b=rnorm(10))
      x$lab <- rep("", 10)   # create empty labels
      x$lab[c(1,3,4,5)] <- LETTERS[1:4]   # some labels
      ggplot(data=x, aes(x=a, y=b, label=lab)) + geom_point() + geom_text(vjust=0)
      

      【讨论】:

        【解决方案3】:

        ggplot 函数之外的子集:

        library(ggplot2)
        set.seed(1)
        x <- data.frame(a = 1:10, b = rnorm(10))
        x$lab <- letters[1:10]
        x$lab[!(abs(x$b) > 0.5)] <- NA
        ggplot(data = x, aes(a, b, label = lab)) + 
          geom_point() + 
          geom_text(vjust = 0) 
        

        使用 qplot:

        qplot(a, b, data = x, label = lab, geom = c('point','text'))
        

        【讨论】:

          猜你喜欢
          • 2010-12-28
          • 2023-04-09
          • 1970-01-01
          • 1970-01-01
          • 2019-07-19
          • 1970-01-01
          • 1970-01-01
          • 2023-03-09
          • 1970-01-01
          相关资源
          最近更新 更多