unexpected shapes on ggplot map












-2















my data look like this: data



ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))


map



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:
km_woj










share|improve this question




















  • 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
















-2















my data look like this: data



ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))


map



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:
km_woj










share|improve this question




















  • 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














-2












-2








-2








my data look like this: data



ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))


map



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:
km_woj










share|improve this question
















my data look like this: data



ggplot() +
geom_polygon(data = poland.map.gg,
aes(long, lat, group = group, fill = N_mężczyzna))


map



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:
km_woj







r ggplot2 maps






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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 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














  • 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








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












1 Answer
1






active

oldest

votes


















2














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))





share|improve this answer























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    2














    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))





    share|improve this answer




























      2














      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))





      share|improve this answer


























        2












        2








        2







        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))





        share|improve this answer













        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))






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 22 '18 at 8:20









        Łukasz ProkulskiŁukasz Prokulski

        645




        645
































            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

            ComboBox Display Member on multiple fields

            Is it possible to collect Nectar points via Trainline?