跳到正文
0.16.6 文档

本页完整说明已译为现代汉语;函数、参数、代码和原始数据标识保留原样。 使用教程

全站目录 · 按任务查找

类似 geom_gene_label(),但使用确定性的外部布局。默认 "radial" 使水平文字沿序列轮廓排列,拥挤名称沿轮廓展开;"auto" 将左右名称对齐成列,其余位置用径向放置;"arc" 沿切线旋转。

用法

代码
geom_gene_label_repel(
  mapping = NULL,
  data = NULL,
  label_layout = "radial",
  label_wrap = NULL,
  label_fit = "wrap",
  label_max_lines = 2L,
  label_side = "outside",
  max_overlaps = Inf,
  label_segment_overlap = "fade",
  label_segment_overlap_alpha = 0.18,
  label_segment_linetype = "auto",
  position = "identity",
  show.legend = FALSE,
  inherit.aes = FALSE,
  label_min_size = 1.5,
  ...
)

参数

mapping

默认 NULL,使用预计算数据。

data

默认 NULL,从布局自动获取。

label_layout

标签布局,默认 "radial"。"radial" 沿序列相对轮廓排列水平外部文字,引导线沿法线直出;移位时先沿法线短出,再用长线连接。"auto" 在左右共享竖列,其余位置使用径向布局。"arc" 沿序列切线旋转文字。旧 "aligned" 模式已删除,侧列请使用 "auto"。

label_wrap

数值或 NULL,默认 NULL。按指定字符数(如 15)对长基因注释换行,覆盖 label_fit。

label_fit

文字适配方式,默认 "wrap",在确定性布局前处理拥挤或过宽的初始框。"wrap" 换行保留完整注释,"ellipsis" 缩成一行,"auto" 换行且仅超过 label_max_lines 时加省略号,"none" 关闭自适应。显式 "shrink" 优先内部放置,完整文字最多缩小到 label_min_size。仍无法容纳时,按现有策略以请求字号移到旁边/外侧或隐藏。该选项使用注释布局,而不是 label_layout 选择的外部布局;其他适配方式不变。

label_max_lines

正整数,默认 2;自适应 "wrap" 或 "auto" 允许的最大行数。

label_side

标签位于弧线哪一侧,默认 "outside"。"auto" 保持按链放置;"outside" 将本会位于弦图内部、可能覆盖连接的标签移到各弧外侧;"inside" 相反。换侧标签使用虚线引导,见 label_segment_linetype。

max_overlaps

数值,默认 Inf。避让后仍与超过此数量的其他标签重叠时隐藏,类似 ggrepel 的去拥挤策略;有限值可简化拥挤图。

label_segment_overlap

引导线被其他标签覆盖部分的绘制方式,默认 "fade"。"fade" 降低透明度,"clip" 删除覆盖部分,"show" 保留完整线。不会影响换行、省略或隐藏。

label_segment_overlap_alpha

[0, 1] 内的数值,默认 0.18;仅在 label_segment_overlap = "fade" 时控制被覆盖引导线部分的相对透明度。

label_segment_linetype

字符或数值,默认 "auto"。"auto" 通常用实线,移到弧线另一侧的标签用虚线;其他合法 ggplot2 线型(如 "solid"、"dashed"、"dotted" 或数字虚线模式)应用于全部引导线。

position

位置调整。标签使用独立数据或没有几何层时,提供与基因/注释层相同的 position_feature_stack()。

show.legend, inherit.aes

标准 ggplot2 图层参数。

label_min_size

显式 label_fit = "shrink" 的最小字号,单位 mm,默认 1.5,不得超过请求字号。导出标签几何保留原文、请求/最终字号及适配原因。

...

其他文字样式及绘制选项。自动布局控制旋转、偏移、方向和碰撞策略;手动 label_rotation、label_radial_offset、label_circum_offset、label_circum_limit、label_orientation、label_overlap 应使用 geom_gene_label(),本层会拒绝这些参数。

返回值

同时绘制标签和引导线的 ggplot2 图层。

详细说明

局部内外侧布局借鉴 SnapGene 与 Geneious 的概念,但使用通用模式名并集成到本包几何系统。见 SnapGene 注释标签 和 Geneious 标签选项。旧版本的底层力、边距、方向及引导线参数已删除,传入会报错。自动放置用 label_layout;手动旋转和偏移用 geom_gene_label()。

示例

代码
library(dplyr)
data(seq_data_example)
seqs <- seq_data_example |>
  select(accver, length)
data(gene_data_example)
genes <- gene_data_example |>
  transmute(accver, start, end, strand = source_strand, anno)
ggchord(seq_data = seqs, gene_data = genes) +
  geom_seq() +
  geom_gene() +
  geom_gene_label_repel(label_wrap = 20)