我想在折线图上显示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()
绘制图形;但是,它不会在图形上显示值。
答案 0 :(得分:2)
如果我对您的理解很好,您想在绘制的两行上显示y1_percent
和y2_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))
为您提供以下图表:
希望有帮助。