如何根据ggplot中的列值连接点。 (包括示例代码)

时间:2015-02-05 05:38:35

标签: r ggplot2

如何使用ggplot根据某些列的值连接绘图上的特定点?我使用基本绘图系统解决了这个问题,但我想知道如何使用ggplot完成这项任务。

使用基础绘图系统完成此任务的代码:

#Defining the dataset
states <- letters[1:10]
set.seed(12345)
profit.2010 <- runif(10, 1000, 2000)
profit.2011 <- runif(10, 1000, 2000)
data <- data.frame(states, profit.2010, profit.2011)

#Making a plot using base plotting system
par(mfrow = c(1, 1))
with(data, plot(rep(1, 10), data[, 2], xlim = c(.5, 2.5)))
with(data, points(rep(2, 10), data[, 3]))
segments(rep(1, 10), data[, 2], rep(2, 10), data[, 3])

使用ggplot的代码不完整。我已经绘制了积分。现在如何使用ggplot加入这些点?

library(tidyr)
dat <- tbl_df(data)
dat <- dat %>%
        gather(year, profit, -states)
ggplot(dat, aes(year, profit)) + geom_text(aes(label = states))

1 个答案:

答案 0 :(得分:0)

如果您想要线条,请添加geom_line并设置group=美学,以便知道要连接哪些点。

ggplot(dat, aes(year, profit)) + 
    geom_text(aes(label = states)) + 
    geom_line(aes(group = states))