ggplot2 散点图标签
Posted
技术标签:
【中文标题】ggplot2 散点图标签【英文标题】:ggplot2 Scatter Plot Labels 【发布时间】:2010-12-21 11:07:55 【问题描述】:我正在尝试使用 ggplot2 创建和标记散点图。我绘制的变量都进行了缩放,使得水平轴和垂直轴以标准偏差为单位绘制(1、2、3、4,...等均值)。我想要做的是只标记那些超出平均值标准偏差的特定限制的元素。理想情况下,此标签将基于另一列数据。
有没有办法做到这一点?
我浏览了在线手册,但找不到任何关于为绘图数据定义标签的信息。
感谢您的帮助!
谢谢!
BEB
【问题讨论】:
【参考方案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'))
【讨论】:
以上是关于ggplot2 散点图标签的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用ggplot2包的快速可视化函数qplot绘制散点图(设置每个数据点的文本标签信息)实战
R语言ggplot2可视化绘制散点图(scatter plot)使用gghighlight包突出高亮散点图中的特定数据点并添加文本标签(highlight and text annotation)
R语言ggplot2可视化绘制散点图(scatter plot)使用gghighlight包突出高亮散点图中的特定数据点并自定义添加彩色文本标签(color text annotation)
R语言ggplot2可视化:ggplot2可视化分组散点图并使用geom_smooth函数在散点图图中为不同的散点簇添加对应的回归曲线