unexpected shapes on ggplot map
my data look like this:
ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))
I want to remove that blank weird shapes.
full code:
library(rgdal)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
poland.map <- readOGR(dsn=".", "województwa") #argumentami są nazwa folderu oraz nazwa pliku (nie podajemy rozszerzenia)
poland.map@data <- poland.map@data[ , c(6,16)] #weźmy tylko nazwy województw oraz ich powierzchnie
names(poland.map@data) <- c("nazwa", "powierzchnia")
#kłopoty z kodowaniem
poland.map@data$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie",
"warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie",
"podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
library(ggplot2)
library(rgeos)
library(maptools)
poland.map.gg <- fortify(poland.map, region="nazwa")
km_woj <- read.table(file="clipboard", header = T)
head(poland.map.gg)
poland.map.gg <- merge(poland.map.gg, km_woj, by.x="id", by.y="Województwo",
sort=F)
ggplot()+geom_polygon(data=poland.map.gg, aes(long, lat, group=group,
fill=N_mężczyzna))
km_woj is a data frame which looks like this:
r ggplot2 maps
add a comment |
my data look like this:
ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))
I want to remove that blank weird shapes.
full code:
library(rgdal)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
poland.map <- readOGR(dsn=".", "województwa") #argumentami są nazwa folderu oraz nazwa pliku (nie podajemy rozszerzenia)
poland.map@data <- poland.map@data[ , c(6,16)] #weźmy tylko nazwy województw oraz ich powierzchnie
names(poland.map@data) <- c("nazwa", "powierzchnia")
#kłopoty z kodowaniem
poland.map@data$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie",
"warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie",
"podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
library(ggplot2)
library(rgeos)
library(maptools)
poland.map.gg <- fortify(poland.map, region="nazwa")
km_woj <- read.table(file="clipboard", header = T)
head(poland.map.gg)
poland.map.gg <- merge(poland.map.gg, km_woj, by.x="id", by.y="Województwo",
sort=F)
ggplot()+geom_polygon(data=poland.map.gg, aes(long, lat, group=group,
fill=N_mężczyzna))
km_woj is a data frame which looks like this:
r ggplot2 maps
2
We really need to know how you obtainedpoland.map.gg
to help
– hrbrmstr
Nov 21 '18 at 16:58
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47
add a comment |
my data look like this:
ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))
I want to remove that blank weird shapes.
full code:
library(rgdal)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
poland.map <- readOGR(dsn=".", "województwa") #argumentami są nazwa folderu oraz nazwa pliku (nie podajemy rozszerzenia)
poland.map@data <- poland.map@data[ , c(6,16)] #weźmy tylko nazwy województw oraz ich powierzchnie
names(poland.map@data) <- c("nazwa", "powierzchnia")
#kłopoty z kodowaniem
poland.map@data$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie",
"warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie",
"podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
library(ggplot2)
library(rgeos)
library(maptools)
poland.map.gg <- fortify(poland.map, region="nazwa")
km_woj <- read.table(file="clipboard", header = T)
head(poland.map.gg)
poland.map.gg <- merge(poland.map.gg, km_woj, by.x="id", by.y="Województwo",
sort=F)
ggplot()+geom_polygon(data=poland.map.gg, aes(long, lat, group=group,
fill=N_mężczyzna))
km_woj is a data frame which looks like this:
r ggplot2 maps
my data look like this:
ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))
I want to remove that blank weird shapes.
full code:
library(rgdal)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
poland.map <- readOGR(dsn=".", "województwa") #argumentami są nazwa folderu oraz nazwa pliku (nie podajemy rozszerzenia)
poland.map@data <- poland.map@data[ , c(6,16)] #weźmy tylko nazwy województw oraz ich powierzchnie
names(poland.map@data) <- c("nazwa", "powierzchnia")
#kłopoty z kodowaniem
poland.map@data$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie",
"warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie",
"podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
library(ggplot2)
library(rgeos)
library(maptools)
poland.map.gg <- fortify(poland.map, region="nazwa")
km_woj <- read.table(file="clipboard", header = T)
head(poland.map.gg)
poland.map.gg <- merge(poland.map.gg, km_woj, by.x="id", by.y="Województwo",
sort=F)
ggplot()+geom_polygon(data=poland.map.gg, aes(long, lat, group=group,
fill=N_mężczyzna))
km_woj is a data frame which looks like this:
r ggplot2 maps
r ggplot2 maps
edited Nov 22 '18 at 6:47
Tomasz Wojtas
asked Nov 21 '18 at 16:55
Tomasz WojtasTomasz Wojtas
112127
112127
2
We really need to know how you obtainedpoland.map.gg
to help
– hrbrmstr
Nov 21 '18 at 16:58
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47
add a comment |
2
We really need to know how you obtainedpoland.map.gg
to help
– hrbrmstr
Nov 21 '18 at 16:58
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47
2
2
We really need to know how you obtained
poland.map.gg
to help– hrbrmstr
Nov 21 '18 at 16:58
We really need to know how you obtained
poland.map.gg
to help– hrbrmstr
Nov 21 '18 at 16:58
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47
add a comment |
1 Answer
1
active
oldest
votes
Try to use sf
package instead of rgeos
. And join from dplyr
.
Better do not use polish letters in variable names :)
Full code:
library(tidyverse)
library(sf)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
# fake km_woj table:
km_woj <- tibble(Wojewodztwo = c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie"),
N_mezczyzna = rnorm(16, 100, 10))
poland.map <- read_sf("województwa.shp")
poland.map <- poland.map %>% select(nazwa = jpt_nazwa_, geometry)
#kłopoty z kodowaniem
poland.map$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
poland.map
poland.map.gg <- left_join(poland.map, km_woj, by = c("nazwa" = "Wojewodztwo"))
poland.map.gg
ggplot() +
geom_sf(data = poland.map.gg,
aes(fill = N_mezczyzna))
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417041%2funexpected-shapes-on-ggplot-map%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try to use sf
package instead of rgeos
. And join from dplyr
.
Better do not use polish letters in variable names :)
Full code:
library(tidyverse)
library(sf)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
# fake km_woj table:
km_woj <- tibble(Wojewodztwo = c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie"),
N_mezczyzna = rnorm(16, 100, 10))
poland.map <- read_sf("województwa.shp")
poland.map <- poland.map %>% select(nazwa = jpt_nazwa_, geometry)
#kłopoty z kodowaniem
poland.map$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
poland.map
poland.map.gg <- left_join(poland.map, km_woj, by = c("nazwa" = "Wojewodztwo"))
poland.map.gg
ggplot() +
geom_sf(data = poland.map.gg,
aes(fill = N_mezczyzna))
add a comment |
Try to use sf
package instead of rgeos
. And join from dplyr
.
Better do not use polish letters in variable names :)
Full code:
library(tidyverse)
library(sf)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
# fake km_woj table:
km_woj <- tibble(Wojewodztwo = c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie"),
N_mezczyzna = rnorm(16, 100, 10))
poland.map <- read_sf("województwa.shp")
poland.map <- poland.map %>% select(nazwa = jpt_nazwa_, geometry)
#kłopoty z kodowaniem
poland.map$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
poland.map
poland.map.gg <- left_join(poland.map, km_woj, by = c("nazwa" = "Wojewodztwo"))
poland.map.gg
ggplot() +
geom_sf(data = poland.map.gg,
aes(fill = N_mezczyzna))
add a comment |
Try to use sf
package instead of rgeos
. And join from dplyr
.
Better do not use polish letters in variable names :)
Full code:
library(tidyverse)
library(sf)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
# fake km_woj table:
km_woj <- tibble(Wojewodztwo = c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie"),
N_mezczyzna = rnorm(16, 100, 10))
poland.map <- read_sf("województwa.shp")
poland.map <- poland.map %>% select(nazwa = jpt_nazwa_, geometry)
#kłopoty z kodowaniem
poland.map$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
poland.map
poland.map.gg <- left_join(poland.map, km_woj, by = c("nazwa" = "Wojewodztwo"))
poland.map.gg
ggplot() +
geom_sf(data = poland.map.gg,
aes(fill = N_mezczyzna))
Try to use sf
package instead of rgeos
. And join from dplyr
.
Better do not use polish letters in variable names :)
Full code:
library(tidyverse)
library(sf)
download.file("http://www.gis-support.pl/downloads/wojewodztwa.zip", "wojewodztwa.zip") #ściągamy plik z shapefilem
unzip("wojewodztwa.zip", exdir=".") #rozpakowujemy plik
# fake km_woj table:
km_woj <- tibble(Wojewodztwo = c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie"),
N_mezczyzna = rnorm(16, 100, 10))
poland.map <- read_sf("województwa.shp")
poland.map <- poland.map %>% select(nazwa = jpt_nazwa_, geometry)
#kłopoty z kodowaniem
poland.map$nazwa <- c("opolskie", "świętokrzyskie", "kujawsko-pomorskie", "mazowieckie", "pomorskie", "śląskie", "warmińsko-mazurskie", "zachodniopomorskie", "dolnośląskie", "wielkopolskie", "łódzkie", "podlaskie", "małopolskie", "lubuskie", "podkarpackie", "lubelskie")
poland.map
poland.map.gg <- left_join(poland.map, km_woj, by = c("nazwa" = "Wojewodztwo"))
poland.map.gg
ggplot() +
geom_sf(data = poland.map.gg,
aes(fill = N_mezczyzna))
answered Nov 22 '18 at 8:20
Łukasz ProkulskiŁukasz Prokulski
645
645
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417041%2funexpected-shapes-on-ggplot-map%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
We really need to know how you obtained
poland.map.gg
to help– hrbrmstr
Nov 21 '18 at 16:58
done - updated full code
– Tomasz Wojtas
Nov 22 '18 at 6:47