[英]Why i see a bar plot with geom_line of ggplot in R?
我有以下data.frame
我想使用ggplot
繪制多個變量。 我知道如果使用Date
而不拆分為Year
、 Month
和Day
會得到line plot
但想知道,如何使用Year
列可以得到line plot
?
library(tidyverse)
library(lubridate)
set.seed(123)
DF <- data.frame(Date = seq(as.Date("2011-01-01"), to = as.Date("2014-12-31"), by = "day"),
F = runif(1461,20,60), D = runif(1461,30,70)) %>%
separate(Date, into = c("Year", "Month", "Day"))
ggplot(DF, aes(x = Year))+
geom_line(aes(y = F)) +
geom_line(aes(y = D))
將Year
設為數字,然后為y
選擇某種摘要 function(否則您會得到看起來像條形的垂直線)。
DF %>%
mutate(across(Year, as.numeric)) %>%
ggplot(aes(x = Year))+
geom_line(stat = "summary", aes(y = F), fun = mean, color = 'red') +
geom_line(stat = "summary", aes(y = D), fun = mean, color = 'blue')
請注意,您可以通過將F
和D
旋轉到它們自己的列來簡化一點:
DF %>%
mutate(across(Year, as.numeric)) %>%
pivot_longer(c(F, D)) %>%
ggplot(aes(x = Year, y = value, color = name))+
geom_line(stat = "summary", fun = mean)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.