library(maps)
library(ggmap)
## 载入需要的程辑包:ggplot2
## Google's Terms of Service: https://cloud.google.com/maps-platform/terms/.
## Please cite ggmap if you use it! See citation("ggmap") for details.
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble 3.1.6 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.1.1 v forcats 0.5.1
## v purrr 0.3.4
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## x purrr::map() masks maps::map()
my_world_data<-map_data("world")
ggplot(data=my_world_data, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")

germany_france<-
filter(my_world_data,region=="Germany" |region=="France" )
ggplot(data=germany_france, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")

a_region<-
filter(my_world_data,long>=10 & long<=15.1 & lat>=32 & lat<=55 )
ggplot(data=a_region, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")

library(data.table)
##
## 载入程辑包:'data.table'
## The following objects are masked from 'package:dplyr':
##
## between, first, last
## The following object is masked from 'package:purrr':
##
## transpose
map_test<-map_data("state")
ggplot(data=map_test, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")

states<-unique(map_test$region)
somee_data_values<-data.frame(
"region"=states,
"qual_values"=c(rep(LETTERS[1:10],4),LETTERS[1:9]),
"quant_values"=runif(49,0,5)
)
map_data_conbined<-left_join(map_test,somee_data_values,by="region")
ggplot(data=map_data_conbined, mapping=aes(x=long,y=lat,group=group,fill=quant_values))+
geom_polygon(color="black")

ggplot(data=map_data_conbined, mapping=aes(x=long,y=lat,group=group,fill=factor(quant_values)))+
geom_polygon(color="black")+
theme_classic()+
labs(x="",y="",title = "A test choropleth")+
theme(axis.text.x = element_blank(),axis.text.y = element_blank(),axis.line = element_blank(),axis.ticks = element_blank())+
scale_fill_brewer(aesthetics ="Spectral")

japan_map<-
filter(my_world_data,region=="Japan" )
ggplot(data=japan_map, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")

head(maps::world.cities)
## name country.etc pop lat long capital
## 1 'Abasan al-Jadidah Palestine 5629 31.31 34.34 0
## 2 'Abasan al-Kabirah Palestine 18999 31.32 34.35 0
## 3 'Abdul Hakim Pakistan 47788 30.55 72.11 0
## 4 'Abdullah-as-Salam Kuwait 21817 29.36 47.98 0
## 5 'Abud Palestine 2456 32.03 35.07 0
## 6 'Abwein Palestine 3434 32.03 35.20 0
world_city<-maps::world.cities
japan_cities<-filter(world_city,country.etc=="Japan")
ggplot(data=japan_map, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")+
geom_point(data=japan_cities,aes(x=long,y=lat,group=NULL),color="red")

head(maps::world.cities)
## name country.etc pop lat long capital
## 1 'Abasan al-Jadidah Palestine 5629 31.31 34.34 0
## 2 'Abasan al-Kabirah Palestine 18999 31.32 34.35 0
## 3 'Abdul Hakim Pakistan 47788 30.55 72.11 0
## 4 'Abdullah-as-Salam Kuwait 21817 29.36 47.98 0
## 5 'Abud Palestine 2456 32.03 35.07 0
## 6 'Abwein Palestine 3434 32.03 35.20 0
world_city<-maps::world.cities
japan_cities_big<-filter(world_city,country.etc=="Japan" & pop>=500000)
ggplot(data=japan_map, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")+
geom_point(data=japan_cities_big,aes(x=long,y=lat,group=NULL,size=pop),color="red")

japan_cities_big$qual<-sample(LETTERS[1:5],nrow(japan_cities_big),replace=TRUE)
ggplot(data=japan_map, mapping=aes(x=long,y=lat,group=group))+
geom_polygon(fill="white",color="black")+
geom_point(data=japan_cities_big,aes(x=long,y=lat,group=NULL,size=pop,color=qual))
