ggplot2 散点图标签

发布于 2024-08-12 14:36:17 字数 228 浏览 3 评论 0 原文

我正在尝试使用 ggplot2 创建并标记散点图。我绘制的变量均经过缩放,以便水平轴和垂直轴以标准差为单位绘制(相对于平均值的 1、2、3、4...等)。我希望能够做的是仅标记那些超出平均值标准差一定限制的元素。理想情况下,该标签将基于另一列数据。

有办法做到这一点吗?

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

感谢帮助!

谢谢!

BEB

I'm trying to use ggplot2 to create and label a scatterplot. The variables that I am plotting are both scaled such that the horizontal and the vertical axis are plotted in units of standard deviation (1,2,3,4,...ect from the mean). What I would like to be able to do is label ONLY those elements that are beyond a certain limit of standard deviations from the mean. Ideally, this labeling would be based off of another column of data.

Is there a way to do this?

I've looked through the online manual, but I haven't been able to find anything about defining labels for plotted data.

Help is appreciated!

Thanks!

BEB

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

春庭雪 2024-08-19 14:36:17

使用子集化:

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)

Use subsetting:

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)
在巴黎塔顶看东京樱花 2024-08-19 14:36:17

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

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)

The labeling can be done in the following way:

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)
奈何桥上唱咆哮 2024-08-19 14:36:17

在 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'))

Subsetting outside of the ggplot function:

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) 

Using qplot:

qplot(a, b, data = x, label = lab, geom = c('point','text'))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文