L10
This commit is contained in:
+202
@@ -0,0 +1,202 @@
|
||||
---
|
||||
title: "L9 - Data Virtualization"
|
||||
format: html
|
||||
editor: visual
|
||||
---
|
||||
|
||||
# Load Data
|
||||
|
||||
```{r}
|
||||
# getwd()
|
||||
# setwd("coding")
|
||||
require(tidyverse)
|
||||
datadf <- readRDS("../data/chinawq/datadf.rds")
|
||||
```
|
||||
|
||||
# Data view
|
||||
|
||||
```{r}
|
||||
skimr::skim(datadf)
|
||||
|
||||
head(datadf)
|
||||
|
||||
tail(datadf)
|
||||
|
||||
names(datadf)
|
||||
|
||||
summary(datadf)
|
||||
|
||||
str(datadf)
|
||||
```
|
||||
|
||||
# Plot
|
||||
|
||||
```{r}
|
||||
#| warning: false
|
||||
#| message: false
|
||||
# 每月NH4N与pH的相关性散点图
|
||||
p <- datadf |>
|
||||
dplyr::filter(NH4N < 100) |>
|
||||
dplyr::filter(between(year(date), 2016, 2019)) |>
|
||||
mutate(month = month(date)) |>
|
||||
ggplot(aes(CODMn, NH4N)) +
|
||||
geom_point(shape = 21, size = 0.8, fill = "orange") +
|
||||
geom_smooth(method = "gam", color = "red") +
|
||||
scale_x_log10() +
|
||||
scale_y_log10() +
|
||||
labs(
|
||||
x = "COD<sub>Mn</sub> (mg L<sup>-1</sup>)",
|
||||
y = "Ammonia (mg L<sup>-1</sup>)"
|
||||
) +
|
||||
facet_wrap(~month, scale = "free", ncol = 4) +
|
||||
theme(
|
||||
axis.title.x = ggtext::element_markdown(),
|
||||
axis.title.y = ggtext::element_markdown()
|
||||
)
|
||||
print(p)
|
||||
|
||||
plotly::ggplotly(p)
|
||||
```
|
||||
|
||||
```{r}
|
||||
#| warning: false
|
||||
#| message: false
|
||||
# 每月NH4N与pH的相关性散点图
|
||||
p <- datadf |>
|
||||
dplyr::filter(NH4N < 100) |>
|
||||
dplyr::filter(between(year(date), 2016, 2019)) |>
|
||||
mutate(month = month(date)) |>
|
||||
ggplot(aes(factor(month), NH4N)) +
|
||||
geom_jitter(size = 0.1, colour = "gray95") +
|
||||
geom_violin(fill = "orange", alpha = 0.3) +
|
||||
scale_y_log10() +
|
||||
labs(x = "Month", y = "Ammonia (mg L<sup>-1</sup>)") +
|
||||
theme_classic() +
|
||||
theme(axis.title.y = ggtext::element_markdown())
|
||||
print(p)
|
||||
|
||||
plotly::ggplotly(p)
|
||||
```
|
||||
|
||||
# Plotly
|
||||
|
||||
```{r}
|
||||
|
||||
p <- datadf |>
|
||||
dplyr::filter(year(date) == 2018) |>
|
||||
ggplot(aes(date, NH4N)) +
|
||||
geom_point()
|
||||
|
||||
ggsave("L9-1.pdf", width = 4, height = 3)
|
||||
|
||||
# install.packages("plotly")
|
||||
plotly::ggplotly(p)
|
||||
```
|
||||
|
||||
|
||||
# Map - sf
|
||||
|
||||
```{r}
|
||||
# install.packages("sf")
|
||||
# install.packages("sfext")
|
||||
|
||||
require(sf)
|
||||
require(sfext)
|
||||
|
||||
chinawqsf <- sf::read_sf(
|
||||
"../data/chinawq/Monitoring_sites/Monitoring_sites.shp"
|
||||
)
|
||||
|
||||
chinawqsf |>
|
||||
ggplot() +
|
||||
geom_sf(shape = 21, size = 1, fill = "orange")
|
||||
|
||||
chinamapsf <- sf::read_sf("../data/中国省级地图GS(2019)1719号.geojson")
|
||||
ninelinesf <- sf::read_sf("../data/九段线GS(2019)1719号.geojson")
|
||||
|
||||
chinamapsf <- sf::read_sf(
|
||||
"https://git.drwater.net/course/su2026rwep/raw/branch/PUB/data/中国省级地图GS(2019)1719号.geojson"
|
||||
)
|
||||
ninelinesf <- sf::read_sf(
|
||||
"https://git.drwater.net/course/su2026rwep/raw/branch/PUB/data/九段线GS(2019)1719号.geojson"
|
||||
)
|
||||
|
||||
chinacrs <- "+proj=laea +lat_0=40 +lon_0=104"
|
||||
|
||||
mapeR::get_chinacrs()
|
||||
|
||||
chinawqsf |>
|
||||
ggplot() +
|
||||
geom_sf(data = chinamapsf) +
|
||||
geom_sf(data = ninelinesf) +
|
||||
geom_sf(shape = 21, size = 1, fill = "orange") +
|
||||
coord_sf(datum = chinacrs)
|
||||
```
|
||||
|
||||
|
||||
```{r}
|
||||
require(mapeR)
|
||||
map_chinese()
|
||||
```
|
||||
|
||||
```{r}
|
||||
chinamapsf <- sf::read_sf("../data/中国省级地图GS(2019)1719号.geojson")
|
||||
ninelinesf <- sf::read_sf("../data/九段线GS(2019)1719号.geojson")
|
||||
|
||||
chinamapsf <- sf::read_sf(
|
||||
"https://git.drwater.net/course/su2026rwep/raw/branch/PUB/data/中国省级地图GS(2019)1719号.geojson"
|
||||
)
|
||||
ninelinesf <- sf::read_sf(
|
||||
"https://git.drwater.net/course/su2026rwep/raw/branch/PUB/data/九段线GS(2019)1719号.geojson"
|
||||
)
|
||||
chinacrs <- "+proj=laea +lat_0=40 +lon_0=104"
|
||||
|
||||
# 安装
|
||||
install.packages("ggspatial")
|
||||
|
||||
datadf |>
|
||||
sf::st_as_sf(coords = c("lon", "lat"), crs = 4326) |>
|
||||
sf::st_transform(crs = chinacrs) |>
|
||||
dplyr::filter(!is.na(CODMn)) |>
|
||||
ggplot() +
|
||||
geom_sf(data = chinamapsf, aes(fill = CNAME), alpha = 0.2) +
|
||||
geom_sf(data = ninelinesf) +
|
||||
geom_sf(aes(colour = log1p(CODMn))) +
|
||||
labs(x = NULL, y = NULL, fill = NULL, colour = "CODMn") +
|
||||
scale_colour_viridis_c() +
|
||||
ggspatial::annotation_north_arrow(location = "tl") +
|
||||
ggspatial::annotation_scale(location = "bl") +
|
||||
theme(legend.position = "none")
|
||||
|
||||
|
||||
mapeR::map_chinese
|
||||
```
|
||||
|
||||
# 具体某个湖泊
|
||||
|
||||
```{r}
|
||||
sf::read_sf("../data/taihu.shp") |>
|
||||
ggplot() +
|
||||
geom_sf()
|
||||
|
||||
|
||||
sitesf <- sf::read_sf("~/Desktop/qingcaosha.kml")
|
||||
|
||||
st_layers("~/Desktop/qingcaosha.kml")
|
||||
|
||||
sitesf <- sf::read_sf("~/Desktop/qingcaosha.kml")
|
||||
boundsf <- sf::read_sf("~/Desktop/qingcaosha.kml", layer = "qingcaosha")
|
||||
|
||||
ggplot() +
|
||||
geom_sf(data = boundsf) +
|
||||
geom_sf(data = sitesf) +
|
||||
geom_sf_text(data = sitesf, aes(label = Name), vjust = 1, size = 3)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user