R(ggplot2):带数据标签的线

R(ggplot2):带数据标签的线,r,ggplot2,R,Ggplot2,我有简单的数据: DATA1 DATA2 DATA3 1 20% 25% 2 27% 32% 3 40% 28% 4 37% 24% 5 42% 20% 6 45% 19% 7 70% 20% 因此,我想构建PLOT x=DATA1和两行数据标签,如 以最好的方式,我想控制哪个交叉口应该设置带有百分比的标签。 Thx您需要将数据2和数据3组合为一个

我有简单的数据:

DATA1   DATA2   DATA3
1        20%    25%
2        27%    32%
3        40%    28%
4        37%    24%
5        42%    20%
6        45%    19%
7        70%    20%
因此,我想构建
PLOT x=DATA1
和两行数据标签,如

以最好的方式,我想控制哪个交叉口应该设置带有百分比的标签。
Thx

您需要将数据2和数据3组合为一个向量,并创建一个向量来定义数据

library(ggplot2)
x1 <- c(0.2, 0.27, 0.4, 0.37, 0.42, 0.45, 0.70)
x2 <- c(0.25, 0.32, 0.28, 0.24, 0.20, 0.19, 0.20)

data <- data.frame(x = rep(c(1:7), 2), label = rep(c("x1", "x2"),  each = 7), y = c(x1, x2))


ggplot(data = data, aes(x = x)) +
  geom_line(data = data, aes(x = x, y = y, col = label))+
  geom_text(data = data, aes(y = y, label = paste(y*100, "%", sep = "")))
库(ggplot2)

x1如果您提供了一个可复制的示例,可能会有所帮助,但我认为您需要这样的示例:

data <- data.frame(
  DATA1 = 1:7,
  DATA2 = c(20, 27, 40, 37, 42, 45, 70), 
  DATA3 = c(25,32,28,24,20,19,20))

ggplot(data=data, aes(DATA1, DATA2)) +
    geom_line() + 
    geom_label (label = DATA2) +
    geom_line (data=data, aes(DATA1, DATA3)) +
    geom_label (data=data, aes(DATA1, DATA3), label=DATA3) +
    ylab ("%")

数据欢迎使用堆栈溢出!您能否通过共享您的数据样本使您的问题重现,以便其他人能够提供帮助(请不要使用
str()
head()
或屏幕截图)?您可以使用和包来帮助您实现这一点。另请参见&您有“宽”格式的数据。您需要将其转换为一个点,在这个点上,绘图与将表示数据来源的新变量映射到颜色、组、填充。。。