R ggplot双折线图和3列
我已经通过Rfacebook软件包提取了一些关于Facebook页面的数据。我想得到的是两个并排的折线图,就像附加的图像(每个用户名对应一个折线图),在这里我可以像附加的图像一样同时显示喜欢、评论和共享R ggplot双折线图和3列,r,ggplot2,rfacebook,R,Ggplot2,Rfacebook,我已经通过Rfacebook软件包提取了一些关于Facebook页面的数据。我想得到的是两个并排的折线图,就像附加的图像(每个用户名对应一个折线图),在这里我可以像附加的图像一样同时显示喜欢、评论和共享 FromUser time shares comments likes User 1 17-01-18 67 5 100 User 2 16-01-18 46 13 65 User 1 16-01
FromUser time shares comments likes
User 1 17-01-18 67 5 100
User 2 16-01-18 46 13 65
User 1 16-01-18 32 25 32
User 1 15-01-18 45 36 45
User 2 14-01-18 64 52 58
我尝试了以下代码,但没有成功。有什么建议吗
line_chart <- ggplot(dataframe, aes(x = time)) +
geom_line(aes(y = shares), colour="blue") +
geom_line(aes(y = comments), colour = "grey") +
geom_line(aes(y = likes), colour = "grey") +
ylab(label="Number of interactions") +
xlab("Days")
line\u chart通过使用tidyr重新排列数据,当前绘图可能更容易创建:
library(tidyr)
#use gather to make a metric column
dataframe.2 <- dataframe %>% gather(Metric, Value, -time, -FromUser)
#convert date for easy ploting
dataframe.2$time <- as.Date(dataframe.2$time , format = "%d-%m-%y")
现在输入ggplot:
ggplot(data = dataframe.2, aes(x = time, y = Value)) +
geom_line(aes(color = Metric, group = Metric)) +facet_wrap(~FromUser) +
xlab("Date") + ylab("Number of interactions")
最终绘图:
通过使用tidyr
重新排列数据,当前绘图可能更容易创建:
library(tidyr)
#use gather to make a metric column
dataframe.2 <- dataframe %>% gather(Metric, Value, -time, -FromUser)
#convert date for easy ploting
dataframe.2$time <- as.Date(dataframe.2$time , format = "%d-%m-%y")
现在输入ggplot:
ggplot(data = dataframe.2, aes(x = time, y = Value)) +
geom_line(aes(color = Metric, group = Metric)) +facet_wrap(~FromUser) +
xlab("Date") + ylab("Number of interactions")
最终绘图: