【问题标题】:Labeling linear functions in R, by using ggplot2使用 ggplot2 在 R 中标记线性函数
【发布时间】:2020-02-15 12:34:37
【问题描述】:

我有以下代码:

v1 <- function(x){x/0.5-0.5}
v2 <- function(x){x/0.3-0.5}

library("ggplot2")


p <- ggplot(data.frame(x=c(0,1)), aes(x=x)) 

p +
  stat_function(fun=v1, geom="line") + 
  stat_function(fun=v2, geom="line") + 
  xlab("θ") + ylab("v(θ)") +
  theme_classic()

当我执行我的代码时,我希望生成的函数分别标记为v1v2。我怎样才能达到理想的效果?

【问题讨论】:

  • 你能再澄清一点吗?您的绘图绘制了 2 条线 - 您是否希望将 2 条线标记为 v1v2 并在其附近附加文字?
  • 一种方法是使用图例,例如p + stat_function(aes(lty = 'v1'), fun=v1, geom="line") + stat_function(aes(lty = 'v2'), fun=v2, geom="line")
  • @Ben 抱歉我的回复晚了...我希望将这两行分别标记为 v1v2。没有额外的文字

标签: r ggplot2 plot label


【解决方案1】:

这个怎么样?

p +
  stat_function(fun=v1, geom="line") + 
  stat_function(fun=v2, geom="line") + 
  xlab("θ") + ylab("v(θ)") +
  theme_classic()+
  annotate("text",x=0.5,y=v1(0.5)-0.2,label="v1")+
  annotate("text",x=0.5,y=v2(0.5)+0.2,label="v2")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 2017-05-25
    • 1970-01-01
    • 2021-07-12
    相关资源
    最近更新 更多