我試圖從一個資料集中繪制最大值,x-axis = Date并按y-axis = max_value站分組,就像我在這個
藍點是 Station No1 的最大值。這是我唯一想要繪制的東西,而不是同一圖中的其他東西。在地塊 1 站 1、地塊 2 站 2 等。
uj5u.com熱心網友回復:
您提供的 data.frame 與情節不同。但是,如果您想一次為每個站點獲取不同的圖。不為每個站點呼叫不同的 ggplot,facet_wrap()函式 (or facet_grid()) 可能會有所幫助:
library(tidyverse)
library(lubridate)
df2 <- data.frame (Station = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 10, 10, 10),
Date = c("1/1/2018", "2/1/2018", "3/1/2018","1/1/2018", "2/1/2018", "3/1/2018","1/1/2018", "2/1/2018", "3/1/2018","1/1/2018", "2/1/2018", "3/1/2018","1/1/2018", "2/1/2018", "3/1/2018"),
MAX_NO2 = c(55,52,58,76,98,12,14,23,54,76,90,99,43,32,76),
MAX_O3 = c(13,45,87,72,54,88,102,63,64,53,87,123,15,76,34))
df2 %>%
mutate(Station = as.character(Station)) %>%
ggplot(aes(x = Date, y = MAX_NO2, colour=Station, group=Station))
geom_line() geom_point() theme_test()
facet_wrap(~Station)

由于資料不同,我無法顯示帶有 SO2 的圖。另外,注意ymd(date)是錯誤的,應該是dmy(Date).
uj5u.com熱心網友回復:
正如評論中提到的,在使用 繪制之前洗掉其他站點是最簡單的ggplot2,這樣您就只保留需要繪制的資料。另外,對于轉換日期,我認為您可能想要dmy或mdy代替ymd(至少從您的示例資料中)。
library(tidyverse)
library(lubridate)
df2 %>%
# add date as date
mutate(date = mdy(Date)) %>%
filter(Station == 1) %>%
# plot them
ggplot( aes(x = date, y = MAX_NO2 , color = Station, group = Station))
geom_line()
geom_point()
theme_test()
輸出

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471580.html
