R语言 把ggplot的文字定位在每个角上

R语言 把ggplot的文字定位在每个角上

在这篇文章中,我们将学习如何在R编程语言中把ggplot2的文本定位到每个角落。

为了完成这项任务,我们将使用ggplot库中的geom_text()函数。我们还将使用R语言中的保留关键字,即 Inf-Inf 。 这些是R编程语言中的保留关键字,它们存储的是无限和负无限的值。 Inf 存储的是最大的值,而 -Inf 存储的是最小的值。

语法

geom_text( data, aes(..), label()

首先导入所需的包,并准备一个文本列表,这些文本将进入每个角落。同时,准备一个所有X坐标和Y坐标的列表,以便将数据放在每个角上。用一些数据创建一个普通的图。现在使用geom_text(),并将如此制作的列表作为参数传递,同时也传递坐标列表以正确定位。

X、 Y 坐标列表包含 Inf-Inf 的组合 这有助于决定角的顺序,例如(-Inf,-Inf)表示左下方,(Inf,Inf)表示右上方,等等。我们使用这些值来确定极端角。

文本属性 中,我们提供我们想要绘制的文本。注意:这里我们必须按照我们希望在角落里绘制的顺序提供文本数据。然后在 x_adjust, y_adjust 属性中,我们提供坐标,我们可以用它来调整文本在X和Y平面的位置。

例1 :

library(ggplot2) 
 
# prepare the data
annotations <- data.frame(
        X = c(-Inf,-Inf,Inf,Inf),
        Y =  c(-Inf, Inf,-Inf,Inf),
        text = c("(x0,y0)","(x0,y1)",
                 "(x1,y0)","(x1,y1)"),
        x_adjust = c(0,0,1,1),
        y_adjust = c(0,1,0,1))
 
ggplot(cars, aes(speed, dist)) + geom_point()+
geom_text(data=annotations, aes(
  x=X,y=Y,hjust=x_adjust,vjust=y_adjust,label=text))

输出

在R语言中把ggplot的文字定位在每个角上

例2:

library(ggplot2) 
 
# prepare the data
annotations <- data.frame(
 
        X = c(-Inf,-Inf,Inf,Inf),
        Y =  c(-Inf, Inf,-Inf,Inf),
        text = c("Shifted-Up(x0,y0)","(x0,y1)",
                 "Shifted-Left(x1,y0)","(x1,y1)"),
        x_adjust = c(0,0,1.5,1),
        y_adjust = c(-2,1,0,1)
)
 
#scatter plot
  ggplot(cars, aes(speed, dist)) + geom_point()+
geom_text(data=annotations, aes(
  x=X,y=Y,hjust=x_adjust,vjust=y_adjust,label=text))

输出

在R语言中把ggplot的文字定位在每个角上

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程