簡體   English   中英

為什么我在 R 中看到帶有 ggplot 的 geom_line 的條形 plot?

[英]Why i see a bar plot with geom_line of ggplot in R?

我有以下data.frame我想使用ggplot繪制多個變量。 我知道如果使用Date而不拆分為YearMonthDay會得到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')

在此處輸入圖像描述

請注意,您可以通過將FD旋轉到它們自己的列來簡化一點:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM