在折线图R中显示值

时间:2019-04-23 03:51:53

标签: r ggplot2

我想在折线图上显示y1_percent和y2_percent的值。我尝试过了

x_value <- seq(0.05,1,0.05)
y1_percent <-seq(5,100,5)
y2_percent <-seq(2.5,50,2.5)
ggplot()+
geom_line(aes(x = x_value, y = y1_percent,colour='red',label=y1_percent))  +
geom_line(aes(x = x_value, y = y2_percent,colour='blue',label=y2_percent))  +  
  geom_text()

绘制图形;但是,它不会在图形上显示值。

1 个答案:

答案 0 :(得分:2)

如果我对您的理解很好,您想在绘制的两行上显示y1_percenty2_percent的数字。一种方法是将数据重新组织到一个框架中,如下所示:

df <- data.frame(y1_percent,y2_percent)
df <- stack(df)
df$x_value <- x_value
colnames(df) <- c("y_percent", "y_label", "x_value")

这将为您提供一个如下所示的数据框:

> df
#   y_percent      y_label x_value
#1        5.0   y1_percent    0.05
#2       10.0   y1_percent    0.10
#3       15.0   y1_percent    0.15
#..      ....   ..........    ....
#..      ....   ..........    ....
#38      45.0   y2_percent    0.90
#39      47.5   y2_percent    0.95
#40      50.0   y2_percent    1.00

现在,您可以像这样绘制数据:

ggplot(df, aes(x=x_value, y=y_percent, colour=y_label)) +
  geom_line() +
  geom_text(aes(label=y_percent, vjust=-0.5))

为您提供以下图表:

plot

希望有帮助。