0

我正在使用 geom_segment 箭头,我有一些问题正在寻找建议来纠正。首先,箭头偏离其直线的中心。其次,如果 lineend 设置为“butt”或“square”,则线段的“主”线会穿过箭头。如果 type="close",这些都对我有用,但不那么明显。

df2 <- expand.grid(
  lineend = c('round', 'butt', 'square'),
  linejoin = c('round', 'mitre', 'bevel'),
  stringsAsFactors = FALSE
)
df2 <- data.frame(df2, y = 1:9)

ggplot(df2, aes(x = 1, y = y, xend = 2, yend = y, label = paste(lineend, linejoin))) +
  geom_segment(
    lineend = df2$lineend, linejoin = df2$linejoin,
    size = 1.5, arrow = arrow(length = unit(0.3,"cm"))
  ) +
  geom_text(hjust = 'outside', nudge_x = -0.2) +
  xlim(0.5, 2)

在此处输入图像描述

圆形斜角箭头可能是第一个问题中最明显的,例如,您可以看到主线的一角穿过顶部的第一个箭头。

然后在键入 =“关闭”时会出现旧的角落故障。

df2 <- expand.grid(
  lineend = c('round', 'butt', 'square'),
  linejoin = c('round', 'mitre', 'bevel'),
  stringsAsFactors = FALSE
)
df2 <- data.frame(df2, y = 1:9)

ggplot(df2, aes(x = 1, y = y, xend = 2, yend = y, label = paste(lineend, linejoin))) +
  geom_segment(
    lineend = df2$lineend, linejoin = df2$linejoin,
    size = 1.5, arrow = arrow(length = unit(0.3,"cm"), type = "closed")
  ) +
  geom_text(hjust = 'outside', nudge_x = -0.2) +
  xlim(0.5, 2)

在此处输入图像描述

我看到 两个帖子,指向修改这个源代码,但是有过时的说明(我觉得源代码已经更新了)。如果 lineend="butt" 则会出现此问题,并且可以通过更改为“square”来部分修复,但是对于某些尺寸组合,这仍然看起来很粗糙。

对于这三个中的任何一个,任何帮助都将不胜感激,尤其是前两个(我找不到任何其他帖子)。

4

0 回答 0