如何在 R 中的 ggplot2 中注释绘图?
在本文中,我们将讨论如何在 R 编程语言中对 ggplot2 中的绘图进行注释。
注释有助于提高绘图的可读性。它允许向绘图添加文本或突出显示曲线的特定部分。最常见的注释形式是文本。让我们首先绘制一个没有任何注释的常规图,以便差异明显。
方法一:使用 geom_text()
这允许仅将文本注释到绘图中。该函数连同所需的参数被添加到绘图中。
Syntax:
geom_text(data, x, y, label)
Parameter:
- data: dataframe in consideration
- x: x coordinate of text
- y: y coordinate of text
- label: text
要使用此函数注释,首先创建值的数据帧,然后参考如此创建的数据帧将值传递给 geom_title()。
例子:
R
library("ggplot2")
x<-c(1, 2, 3, 4, 5)
y<-c(10, 30, 20, 40, 35)
df<-data.frame(x, y)
ann_text<-data.frame(
x = 4, y = 20,
label = "geeks for geeks"
)
ggplot(df, aes(x,y))+geom_line()+
geom_text(data = ann_text,
aes( x=x, y=y, label=label),
color="green", size=5)
R
library("ggplot2")
x<-c(1, 2, 3, 4, 5)
y<-c(10, 30, 20, 40, 35)
df<-data.frame(x, y)
ann_text<-data.frame(
x = 4, y = 20,
label="geeks for geeks"
)
ggplot(df,aes(x,y))+geom_line()+
geom_label(data = ann_text,
aes( x = x, y = y, label=label),
color="green", size=5)
R
library("ggplot2")
x<-c(1, 2, 3, 4, 5)
y<-c(10, 30, 20, 40, 35)
df<-data.frame(x,y)
ggplot(df,aes(x,y))+geom_line()+annotate(
"text", x=3.5, y=20, label="geeks for geeks",
color="green", size=5)
R
library("ggplot2")
x<-c(1,2,3,4,5)
y<-c(10,30,20,40,35)
df<-data.frame(x,y)
ggplot(df,aes(x,y))+geom_line()+annotate(
"segment", x=2, xend=4.5, y=10,yend=25,
color="green", arrow=arrow())
输出:
方法二:使用 geom_label()
此函数用于添加标签,即文本框在图中,但由于它完成添加注释的工作,因此可以将其视为一种替代方法。
Syntax:
geom_text(data, x, y, label)
Parameter:
- data: dataframe in consideration
- x: x coordinate of text
- y: y coordinate of text
- label: text
这种方法类似于上面的方法,除了为此产生的输出将被视为标签而不是常规文本,并且周围会有一个边界。
例子:
电阻
library("ggplot2")
x<-c(1, 2, 3, 4, 5)
y<-c(10, 30, 20, 40, 35)
df<-data.frame(x, y)
ann_text<-data.frame(
x = 4, y = 20,
label="geeks for geeks"
)
ggplot(df,aes(x,y))+geom_line()+
geom_label(data = ann_text,
aes( x = x, y = y, label=label),
color="green", size=5)
输出:
方法 3:使用 annotate()
annotate()函数是最常用的向绘图添加注释的函数。这不仅允许在绘图上显示文本,还允许显示形状。
Syntax:
annotate(type, x, y,)
Parameter:
- type: type of annotation
- x: x coordinate
- y: y coordinate
要将文本注释到绘图中,将“文本”作为类型传递,并在标签参数中传递要注释的文本。
例子:
电阻
library("ggplot2")
x<-c(1, 2, 3, 4, 5)
y<-c(10, 30, 20, 40, 35)
df<-data.frame(x,y)
ggplot(df,aes(x,y))+geom_line()+annotate(
"text", x=3.5, y=20, label="geeks for geeks",
color="green", size=5)
输出:
要将形状注释到绘图中,需要使用所需类型传递 type 参数,然后相应地设置坐标。
例子:
电阻
library("ggplot2")
x<-c(1,2,3,4,5)
y<-c(10,30,20,40,35)
df<-data.frame(x,y)
ggplot(df,aes(x,y))+geom_line()+annotate(
"segment", x=2, xend=4.5, y=10,yend=25,
color="green", arrow=arrow())
输出: