如何在 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 度,并使用hjust和vjust参数增加文本与轨迹上的点的水平和垂直距离。
以下示例展示了如何在实践中使用此语法。
示例:在 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 度。
请随意使用hjust 、 vjust和angle参数,将带注释的文本放置在绘图上您想要的位置。
注意:我们还使用ylim参数来增加图上的 y 轴边界,以便图顶部的“Spencer”标签不会被切断。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: