←
PDF 476 / 520 In these examples, I manually broke the label up into lines using "\n". Another approach is to u
→
English · PDF 476
Original PDF page 476
中文 · PDF 476

在这些示例中,我使用 "\n" 手动将标签拆分成多行。另一种方法是使用 stringr::str_wrap(),根据你希望每行的字符数自动添加换行符:

"Increasing engine size related to decreasing fuel economy." %>% stringr::str_wrap(width = 40) %>% writeLines() #> Increasing engine size is related to #> decreasing fuel economy.

注意使用 hjust 和 vjust 来控制标签的对齐方式。图 22-1 展示了所有九种可能的组合。

图 22-1. hjust 和 vjust 的全部九种组合

请记住,除了 geom_text() 之外,ggplot2 中还有许多其他几何对象可用于帮助标注你的图形。以下几个思路:

  • 使用 geom_hline() 和 geom_vline() 添加参考线。我通常把它们画得较粗(size = 2)且为白色(color = white),并将它们绘制在主要数据图层之下。这样既能清晰看到参考线,又不会分散对数据的注意力。
  • 使用 geom_rect() 在感兴趣的点周围绘制矩形。矩形的边界由 xmin、xmax、ymin 和 ymax 美学参数定义。
  • 使用 geom_segment() 并配合 arrow 参数,用箭头将注意力引向某个点。使用 x 和 y 美学参数定义起始位置,用 xend 和 yend 定义结束位置。