【问题标题】:Inner ticks in ggplotggplot中的内部刻度
【发布时间】:2020-04-26 06:50:27
【问题描述】:

我想在由向量给出的图中添加内部刻度。

说我的向量是myvec <- c(1,3,4:9, 12, 15) 和我的情节:

library(ggplot2)
df <- data.frame(x=seq(1:100), y=sort(rexp(100, 2), decreasing = T))

ggplot(df, aes(x=x, y=y)) + geom_point() + 
 scale_y_continuous(limits = c(0, 4))

我现在想在x= myvecy=0 处添加蓝色的内部标记。我该怎么做? 尝试使用此解决方案,但无法使用向量。 Annotate ggplot with an extra tick and label

【问题讨论】:

标签: r ggplot2


【解决方案1】:

试试这个:

df2<- cbind.data.frame("myvec" = myvec, z= rep(0, length(myvec)))

ggplot(df, aes(x=x, y=y)) + geom_point() + 
  scale_y_continuous(limits = c(0, 4)) +
  geom_point(data=df2, aes(x=myvec, y=z), shape = "\U2714", color = "blue", size= 2)

【讨论】:

  • 快到了。现在只需将 y=z 替换为 y =-Inf,也许还可以更改点的形状,然后您将拥有刻度(如果 y 始终相同,则无需在数据框中创建 y 变量)
  • P.S.正如您暗示的那样,可以使用任何字符作为 geom_point 的形状。我可能还是更愿意使用 geom_text,甚至更好,注释,因为你可以更好地控制你的字符的形状。
  • 谢谢。它适用于我:geom_point(data=df2, aes(x=myvec, y=z), shape = "|", color = "blue", size= 3)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 2019-06-12
  • 2018-02-09
相关资源
最近更新 更多