如何在 ggplot2 中旋转带注释的文本(举例)


您可以使用以下基本语法来旋转 ggplot2 图中的注释文本:

 ggplot(df) +
  geom_point(aes(x=x, y=y)) + 
  geom_text(aes(x=x, y=y, label=group), hjust= -0.3 , vjust= -0.1 , angle= 45 )

在此特定示例中,我们使用angle参数将带注释的文本逆时针旋转 45 度,并使用hjustvjust参数增加文本与轨迹上的点的水平和垂直距离。

以下示例展示了如何在实践中使用此语法。

示例:在 ggplot2 中旋转带注释的文本

假设我们在 R 中有以下数据集:

 #create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#view data frame
df

   player points assists
1 Brad 17 4
2 Ty 5 3
3 Spencer 12 7
4 Luke 20 7
5 Max 22 5

现在假设我们在 ggplot2 中创建以下散点图来可视化该数据:

 library (ggplot2)

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player)) 

请注意,标签是水平的并且位于点的正上方。

我们可以使用以下语法来旋转标签并将它们稍微移离点以使它们更易于阅读:

 library (ggplot2)

#create scatter plot with annotated rotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), hjust= -.3 , vjust= -.1 , angle= 45 ) +
  ylim(3, 8) 

请注意,标签现在全部逆时针旋转 45 度。

请随意使用hjustvjustangle参数,将带注释的文本放置在绘图上您想要的位置。

注意:我们还使用ylim参数来增加图上的 y 轴边界,以便图顶部的“Spencer”标签不会被切断。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在ggplot2中旋转轴标签
如何更改ggplot2中的点大小
如何向 ggplot2 绘图添加文本

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注