Карта хлоропета в R не работает, я думаю, проблема в объединении данных - PullRequest
1 голос
/ 28 января 2020

Я пытаюсь сделать карту хлоропета, следуя этому руководству: https://www.r-graph-gallery.com/327-chloropleth-map-from-geojson-with-ggplot2.html

Я немного смешал урок с этим ответом ( Карта хлороплета с гео json и ggplot2 ), так как я не получил ожидаемого результата. Города были заполнены тем же цветом, и казалось, что R не понимает данные как цифры c, и заполнял каждый город, в котором был хотя бы 1 пользователь, цветом по умолчанию. (пробовал использовать as.numeri c, тоже не работал)

Я загрузил данные "пользователи по городам" с моего сайта из Google Analytics, используя

library(googleAnalyticsR)
library(dplyr)

my_id <- xxxxxxxxxxxx

web_data <- google_analytics(my_id,
                              date_range = c("2019-01-01","2019-12-31"),
                              metrics = c("users"),
                              dimensions = c("country","region","city"),
                              anti_sample = TRUE)

Brasil <- web_data %>% filter(country == "Brazil")

Brasil_cidades<- Brasil %>% select(city, users)

Нашел этот файл геоджона в GitHub казалось подходящим для моих нужд: https://github.com/tbrugz/geodata-br/blob/master/geojson/geojs-100-mun.json

braz <-read_sf("https://raw.githubusercontent.com/tbrugz/geodata-br/master/geojson/geojs-100-mun.json")

?st_centroid
centroids <- braz %>% 
  st_centroid() %>% 
  bind_cols(as_data_frame(st_coordinates(.)))

Brasil_cidades %>% 
  left_join(braz, ., by = c('name' = 'city')) %>% 
  ggplot() + 
  geom_sf(aes(fill = users))  + 
  scale_fill_gradient(low = "red",high = "yellow") 
  geom_text(aes(X, Y, label = "City"), data = centroids, size = 1, color = 'white')

результат: ужасная карта

Я новичок в R, поэтому любая помощь будет оценена.

edit: dput results:

dput(Brasil_cidades)
structure(list(city = c("(not set)", "(not set)", "Brasilia", 
"(not set)", "Cruzeiro do Sul", "Rio Branco", "(not set)", "Arapiraca", 
"Maceio", "Maragogi", "Marechal Deodoro", "Murici", "Palmeira dos Indios", 
"Penedo", "Pilar", "Rio Largo", "Santana do Ipanema", "Sao Miguel dos Campos", 
"Satuba", "Uniao dos Palmares", "(not set)", "Macapa", "Santana", 
"(not set)", "Itacoatiara", "Manaus", "Parintins", "Tefe", "(not set)", 
"Alagoinhas", "Amargosa", "Barreiras", "Bom Jesus da Lapa", "Brumado", 
"Caetite", "Camacari", "Campo Formoso", "Candeias", "Catu", "Cruz das Almas", 
"Dias d'Avila", "Eunapolis", "Feira de Santana", "Guanambi", 
"Ilheus", "Inhambupe", "Ipira", "Irece", "Itaberaba", "Itabuna", 
"Itamaraju", "Itaparica", "Itapetinga", "Jacobina", "Jequie", 
"Juazeiro", "Lauro de Freitas", "Luis Eduardo Magalhaes", "Macaubas", 
"Madre de Deus", "Mata de Sao Joao", "Nova Vicosa", "Paulo Afonso", 
"Pojuca", "Porto Seguro", "Queimadas", "Salvador", "Santaluz", 
"Santo Amaro", "Santo Antonio de Jesus", "Santo Estevao", "Sao Francisco do Conde", 
"Sao Sebastiao do Passe", "Saubara", "Seabra", "Senhor do Bonfim", 
"Serrinha", "Simoes Filho", "Teixeira de Freitas", "Valenca", 
"Vitoria da Conquista", "(not set)", "Acarau", "Aquiraz", "Aracati", 
"Barbalha", "Caninde", "Cascavel", "Caucaia", "Crateus", "Crato", 
"Eusebio", "Fortaleza", "Horizonte", "Ico", "Iguatu", "Itaitinga", 
"Itapipoca", "Juazeiro do Norte", "Limoeiro do Norte", "Maracanau", 
"Maranguape", "Mauriti", "Morada Nova", "Pacajus", "Pacatuba", 
"Quixada", "Quixeramobim", "Reriutaba", "Russas", "Sao Benedito", 
"Sobral", "Tiangua", "(not set)", "Afonso Claudio", "Alegre", 
"Alfredo Chaves", "Anchieta", "Aracruz", "Baixo Guandu", "Barra de Sao Francisco", 
"Cachoeiro de Itapemirim", "Castelo", "Colatina", "Conceicao da Barra", 
"Domingos Martins", "Ecoporanga", "Guacui", "Guarapari", "Ibatiba", 
"Itapemirim", "Iuna", "Jaguare", "Linhares", "Marataizes", "Mimoso do Sul", 
"Montanha", "Muniz Freire", "Nova Venecia", "Piuma", "Santa Maria de Jetiba", 
"Santa Teresa", "Sao Gabriel da Palha", "Sao Mateus", "Serra", 
"Venda Nova do Imigrante", "Viana", "Vila Velha", "Vitoria", 
"(not set)", "Abadiania", "Aguas Lindas de Goias", "Alexania", 
"Anapolis", "Anicuns", "Aparecida de Goiania", "Caldas Novas", 
"Catalao", "Ceres", "Cidade Ocidental", "Cristalina", "Formosa", 
"Goianapolis", "Goianesia", "Goiania", "Goiatuba", "Guapo", "Inhumas", 
"Ipameri", "Ipora", "Itumbiara", "Jaragua", "Jatai", "Luziania", 
"Mineiros", "Morrinhos", "Neropolis", "Niquelandia", "Novo Gama", 
"Pirenopolis", "Pires do Rio", "Planaltina", "Porangatu", "Quirinopolis", 
"Rio Verde", "Santa Helena de Goias", "Santo Antonio do Descoberto", 
"Senador Canedo", "Trindade", "Uruacu", "Valparaiso de Goias", 
"(not set)", "Acailandia", "Bacabal", "Balsas", "Barra do Corda", 
"Caxias", "Chapadinha", "Codo", "Imperatriz", "Paco do Lumiar", 
"Pinheiro", "Santa Ines", "Sao Jose de Ribamar", "Sao Luis", 
"Timon", "(not set)", "Agua Boa", "Alta Floresta", "Barra do Garcas", 
"Caceres", "Campo Novo do Parecis", "Colider", "Cuiaba", "Juina", 
"Lucas do Rio Verde", "Nova Mutum", "Pontes e Lacerda", "Primavera do Leste", 
"Rondonopolis", "Sinop", "Sorriso", "Tangara da Serra", "Varzea Grande", 
"(not set)", "Aquidauana", "Bonito", "Campo Grande", "Chapadao do Sul", 
"Corumba", "Dourados", "Ivinhema", "Jardim", "Ladario", "Navirai", 
"Nova Andradina", "Paranaiba", "Ponta Pora", "Sidrolandia", "Tres Lagoas", 
"(not set)", "Alem Paraiba", "Alfenas", "Alpinopolis", "Andradas", 
"Aracuai", "Araguari", "Araxa", "Arcos", "Bambui", "Barao de Cocais", 
"Barbacena", "Belo Horizonte", "Betim", "Boa Esperanca", "Bom Despacho", 
"Borda da Mata", "Brumadinho", "Bueno Brandao", "Caete", "Camanducaia", 
"Cambui", "Campina Verde", "Campo Belo", "Campos Altos", "Campos Gerais", 
"Capinopolis", "Carangola", "Caratinga", "Carmo do Paranaiba", 
"Cassia", "Cataguases", "Conceicao das Alagoas", "Conceicao do Mato Dentro", 
"Confins", "Congonhas", "Conselheiro Lafaiete", "Contagem", "Coromandel", 
"Coronel Fabriciano", "Curvelo", "Diamantina", "Divinopolis", 
"Eloi Mendes", "Esmeraldas", "Espera Feliz", "Extrema", "Formiga", 
"Frutal", "Governador Valadares", "Guaxupe", "Ibirite", "Igarape", 
"Ipatinga", "Itabira", "Itabirito", "Itajuba", "Itapeva", "Itauna", 
"Ituiutaba", "Iturama", "Jacutinga", "Janauba", "Januaria", "Joao Monlevade", 
"Joao Pinheiro", "Juatuba", "Juiz de Fora", "Juruaia", "Lagoa da Prata", 
"Lagoa Formosa", "Lagoa Santa", "Lavras", "Leopoldina", "Luz", 
"Machado", "Manhuacu", "Manhumirim", "Mariana", "Mateus Leme", 
"Matozinhos", "Monte Carmelo", "Monte Santo de Minas", "Monte Siao", 
"Montes Claros", "Muriae", "Muzambinho", "Nepomuceno", "Nova Lima", 
"Nova Serrana", "Oliveira", "Ouro Branco", "Ouro Fino", "Ouro Preto", 
"Papagaios", "Para de Minas", "Paracatu", "Paraguacu", "Paraisopolis", 
"Passos", "Patos de Minas", "Patrocinio", "Pedro Leopoldo", "Perdoes", 
"Pirapora", "Pitangui", "Piumhi", "Poco Fundo", "Pocos de Caldas", 
"Ponte Nova", "Pouso Alegre", "Prata", "Presidente Olegario", 
"Raposos", "Ribeirao das Neves", "Sabara", "Santa Luzia", "Santa Vitoria", 
"Santana do Paraiso", "Santos Dumont", "Sao Francisco", "Sao Joao del Rei", 
"Sao Joaquim de Bicas", "Sao Jose da Lapa", "Sao Lourenco", "Sao Sebastiao do Paraiso", 
"Sarzedo", "Sete Lagoas", "Teofilo Otoni", "Timoteo", "Tres Coracoes", 
"Tres Marias", "Tres Pontas", "Tupaciguara", "Uba", "Uberaba", 
"Uberlandia", "Unai", "Varginha", "Vazante", "Vespasiano", "Vicosa", 
"Visconde do Rio Branco", "(not set)", "Abaetetuba", "Altamira", 
"Ananindeua", "Belem", "Braganca", "Cameta", "Castanhal", "Itaituba", 
"Maraba", "Marituba", "Monte Alegre", "Paragominas", "Parauapebas", 
"Redencao", "Santa Isabel do Para", "Santarem", "Tucurui", "Xinguara", 
"(not set)", "Alagoa Grande", "Bayeux", "Cabedelo", "Cajazeiras", 
"Campina Grande", "Catole do Rocha", "Guarabira", "Joao Pessoa", 
"Mamanguape", "Monteiro", "Patos", "Pombal", "Queimadas", "Santa Rita", 
"Sao Jose de Piranhas", "Sousa", "(not set)", "Almirante Tamandare", 
"Altonia", "Ampere", "Andira", "Antonina", "Apucarana", "Arapongas", 
"Arapoti", "Araucaria", "Assai", "Assis Chateaubriand", "Astorga", 
"Bandeirantes", "Barracao", "Bela Vista do Paraiso", "Cambara", 
"Cambe", "Campina Grande do Sul", "Campo Largo", "Campo Mourao", 
"Capanema", "Carambei", "Carlopolis", "Cascavel", "Castro", "Ceu Azul", 
"Chopinzinho", "Cianorte", "Clevelandia", "Colombo", "Colorado", 
"Corbelia", "Cornelio Procopio", "Coronel Vivida", "Cruzeiro do Oeste", 
"Curitiba", "Dois Vizinhos", "Faxinal", "Fazenda Rio Grande", 
"Foz do Iguacu", "Francisco Beltrao", "Goioere", "Guaira", "Guarapuava", 
"Guaratuba", "Ibaiti", "Ibipora", "Imbituva", "Ipora", "Irati", 
"Itaperucu", "Ivaipora", "Jacarezinho", "Jaguariaiva", "Jandaia do Sul", 
"Lapa", "Laranjeiras do Sul", "Loanda", "Londrina", "Mandaguacu", 
"Mandaguari", "Mangueirinha", "Marechal Candido Rondon", "Marialva", 
"Maringa", "Matelandia", "Matinhos", "Medianeira", "Nova Esperanca", 
"Nova Londrina", "Ortigueira", "Paicandu", "Palmas", "Palmeira", 
"Palotina", "Paranagua", "Paranavai", "Pato Branco", "Pinhais", 
"Pinhao", "Pirai do Sul", "Piraquara", "Pitanga", "Ponta Grossa", 
"Pontal do Parana", "Porecatu", "Prudentopolis", "Quatro Barras", 
"Quedas do Iguacu", "Realeza", "Reserva", "Ribeirao do Pinhal", 
"Rio Branco do Sul", "Rio Negro", "Rolandia", "Rondon", "Salto do Lontra", 
"Santa Helena", "Santa Terezinha de Itaipu", "Santo Antonio da Platina", 
"Santo Antonio do Sudoeste", "Sao Joao do Ivai", "Sao Jose dos Pinhais", 
"Sao Mateus do Sul", "Sarandi", "Senges", "Sertanopolis", "Siqueira Campos", 
"Tapira", "Telemaco Borba", "Terra Rica", "Terra Roxa", "Toledo", 
"Ubirata", "Umuarama", "Wenceslau Braz", "(not set)", "Abreu e Lima", 
"Araripina", "Arcoverde", "Belo Jardim", "Bezerros", "Bonito", 
"Cabo de Santo Agostinho", "Camaragibe", "Carpina", "Caruaru", 
"Escada", "Garanhuns", "Gloria do Goita", "Goiana", "Gravata", 
"Igarassu", "Ipojuca", "Itamaraca", "Itambe", "Itapissuma", "Jaboatao dos Guararapes", 
"Lajedo", "Moreno", "Olinda", "Palmares", "Paudalho", "Paulista", 
"Pesqueira", "Petrolina", "Recife", "Salgueiro", "Santa Cruz do Capibaribe", 
"Sao Lourenco da Mata", "Serra Talhada", "Surubim", "Toritama", 
"Vitoria de Santo Antao", "(not set)", "Parnaiba", "Picos", "Piripiri", 
"Teresina", "(not set)", "Angra dos Reis", "Araruama", "Areal", 
"Armacao dos Buzios", "Arraial do Cabo", "Barra do Pirai", "Barra Mansa", 
"Belford Roxo", "Bom Jardim", "Bom Jesus do Itabapoana", "Cabo Frio", 
"Cachoeiras de Macacu", "Cambuci", "Campos dos Goytacazes", "Cantagalo", 
"Carmo", "Casimiro de Abreu", "Conceicao de Macabu", "Cordeiro", 
"Duque de Caxias", "Guapimirim", "Iguaba Grande", "Itaborai", 
"Itaguai", "Itaocara", "Itaperuna", "Itatiaia", "Japeri", "Macae", 
"Mage", "Mangaratiba", "Marica", "Mendes", "Mesquita", "Miguel Pereira", 
"Miracema", "Natividade", "Nilopolis", "Niteroi", "Nova Friburgo", 
"Nova Iguacu", "Paracambi", "Paraiba do Sul", "Paraty", "Paty do Alferes", 
"Petropolis", "Pinheiral", "Pirai", "Porciuncula", "Porto Real", 
"Queimados", "Resende", "Rio Bonito", "Rio Claro", "Rio das Ostras", 
"Rio de Janeiro", "Santo Antonio de Padua", "Sao Fidelis", "Sao Goncalo", 
"Sao Joao da Barra", "Sao Joao de Meriti", "Sao Jose do Vale do Rio Preto", 
"Sao Pedro da Aldeia", "Sapucaia", "Saquarema", "Seropedica", 
"Silva Jardim", "Tangua", "Teresopolis", "Tres Rios", "Valenca", 
"Vassouras", "Volta Redonda", "(not set)", "Apodi", "Assu", "Caico", 
"Ceara-Mirim", "Currais Novos", "Macaiba", "Mossoro", "Natal", 
"Parelhas", "Parnamirim", "Santa Cruz", "Sao Goncalo do Amarante", 
"Sao Jose de Mipibu", "Sao Miguel", "(not set)", "Alegrete", 
"Alvorada", "Ararica", "Arroio do Meio", "Arroio do Tigre", "Arroio dos Ratos", 
"Bage", "Bento Goncalves", "Bom Principio", "Butia", "Cacapava do Sul", 
"Cachoeira do Sul", "Cachoeirinha", "Cacique Doble", "Camaqua", 
"Campo Bom", "Candelaria", "Canela", "Cangucu", "Canoas", "Carazinho", 
"Carlos Barbosa", "Casca", "Caxias do Sul", "Cerro Largo", "Charqueadas", 
"Cruz Alta", "Dois Irmaos", "Dom Pedrito", "Erechim", "Espumoso", 
"Estancia Velha", "Esteio", "Estrela", "Farroupilha", "Feliz", 
"Flores da Cunha", "Frederico Westphalen", "Garibaldi", "Getulio Vargas", 
"Girua", "Gramado", "Gravatai", "Guaiba", "Guapore", "Ibiruba", 
"Igrejinha", "Ijui", "Itaqui", "Ivoti", "Jaguarao", "Lagoa Vermelha", 
"Lajeado", "Marau", "Montenegro", "Nao-Me-Toque", "Nova Hartz", 
"Nova Petropolis", "Nova Santa Rita", "Novo Hamburgo", "Osorio", 
"Palmeira das Missoes", "Panambi", "Parobe", "Passo Fundo", "Pelotas", 
"Portao", "Porto Alegre", "Rio Grande", "Rio Pardo", "Rosario do Sul", 
"Sananduva", "Santa Cruz do Sul", "Santa Maria", "Santa Rosa", 
"Santa Vitoria do Palmar", "Santana do Livramento", "Santiago", 
"Santo Angelo", "Santo Antonio da Patrulha", "Sao Borja", "Sao Francisco de Paula", 
"Sao Gabriel", "Sao Jeronimo", "Sao Leopoldo", "Sao Lourenco do Sul", 
"Sao Luiz Gonzaga", "Sao Marcos", "Sao Sebastiao do Cai", "Sapiranga", 
"Sapucaia do Sul", "Sarandi", "Serafina Correa", "Sobradinho", 
"Soledade", "Tapejara", "Tapes", "Taquara", "Taquari", "Terra de Areia", 
"Teutonia", "Torres", "Tramandai", "Tres Coroas", "Tres de Maio", 
"Tres Passos", "Triunfo", "Uruguaiana", "Vacaria", "Venancio Aires", 
"Viamao", "Xangri-la", "(not set)", "Ariquemes", "Cacoal", "Jaru", 
"Ji-Parana", "Ouro Preto do Oeste", "Pimenta Bueno", "Porto Velho", 
"Presidente Medici", "Rolim de Moura", "Vilhena", "(not set)", 
"Boa Vista", "(not set)", "Abelardo Luz", "Ararangua", "Balneario Camboriu", 
"Barra Velha", "Biguacu", "Blumenau", "Bombinhas", "Braco do Norte", 
"Brusque", "Cacador", "Camboriu", "Campos Novos", "Canoinhas", 
"Capinzal", "Chapeco", "Concordia", "Criciuma", "Cunha Pora", 
"Curitibanos", "Florianopolis", "Forquilhinha", "Fraiburgo", 
"Garopaba", "Garuva", "Gaspar", "Guaramirim", "Herval d'Oeste", 
"Icara", "Imbituba", "Indaial", "Itajai", "Itapema", "Itapiranga", 
"Ituporanga", "Jaguaruna", "Jaragua do Sul", "Joacaba", "Joinville", 
"Lages", "Laguna", "Mafra", "Maravilha", "Morro da Fumaca", "Navegantes", 
"Orleans", "Palhoca", "Palmitos", "Penha", "Picarras", "Pinhalzinho", 
"Pomerode", "Porto Belo", "Porto Uniao", "Presidente Getulio", 
"Rio do Sul", "Rio Negrinho", "Santa Rosa do Sul", "Santo Amaro da Imperatriz", 
"Sao Bento do Sul", "Sao Francisco do Sul", "Sao Joao Batista", 
"Sao Jose", "Sao Lourenco do Oeste", "Sao Miguel do Oeste", "Schroeder", 
"Sombrio", "Tijucas", "Timbo", "Tubarao", "Turvo", "Videira", 
"Xanxere", "Xaxim", "(not set)", "Adamantina", "Aguai", "Aguas de Lindoia", 
"Agudos", "Alvares Machado", "Americana", "Americo Brasiliense", 
"Amparo", "Andradina", "Angatuba", "Aparecida", "Apiai", "Aracariguama", 
"Aracatuba", "Aracoiaba da Serra", "Araraquara", "Araras", "Artur Nogueira", 
"Aruja", "Assis", "Atibaia", "Avare", "Bady Bassitt", "Bariri", 
"Barra Bonita", "Barretos", "Barrinha", "Barueri", "Batatais", 
"Bauru", "Bebedouro", "Bertioga", "Birigui", "Biritiba-Mirim", 
"Boituva", "Bom Jesus dos Perdoes", "Borborema", "Botucatu", 
"Braganca Paulista", "Brodowski", "Brotas", "Buritama", "Cabreuva", 
"Cacapava", "Cachoeira Paulista", "Caieiras", "Cajamar", "Cajati", 
"Cajuru", "Campinas", "Campo Limpo Paulista", "Campos do Jordao", 
"Cananeia", "Candido Mota", "Capao Bonito", "Capela do Alto", 
"Capivari", "Caraguatatuba", "Carapicuiba", "Casa Branca", "Castilho", 
"Catanduva", "Cerqueira Cesar", "Cerquilho", "Cesario Lange", 
"Charqueada", "Chavantes", "Conchal", "Conchas", "Cordeiropolis", 
"Cosmopolis", "Cotia", "Cravinhos", "Cruzeiro", "Cubatao", "Cunha", 
"Descalvado", "Diadema", "Dois Corregos", "Dracena", "Duartina", 
"Elias Fausto", "Embu", "Embu-Guacu", "Engenheiro Coelho", "Espirito Santo do Pinhal", 
"Fernandopolis", "Franca", "Francisco Morato", "Franco da Rocha", 
"Garca", "Guaira", "Guara", "Guararapes", "Guararema", "Guaratingueta", 
"Guariba", "Guaruja", "Guarulhos", "Holambra", "Hortolandia", 
"Ibate", "Ibitinga", "Ibiuna", "Igaracu do Tiete", "Igarapava", 
"Iguape", "Ilha Solteira", "Ilhabela", "Indaiatuba", "Ipero", 
"Iracemapolis", "Itai", "Itanhaem", "Itapecerica da Serra", "Itapetininga", 
"Itapeva", "Itapevi", "Itapira", "Itapolis", "Itaquaquecetuba", 
"Itarare", "Itatiba", "Itatinga", "Itirapina", "Itu", "Itupeva", 
"Ituverava", "Jaboticabal", "Jacarei", "Jacupiranga", "Jaguariuna", 
"Jales", "Jandira", "Jardinopolis", "Jarinu", "Jau", "Joanopolis", 
"Jose Bonifacio", "Jundiai", "Juquitiba", "Laranjal Paulista", 
"Leme", "Lencois Paulista", "Limeira", "Lins", "Lorena", "Louveira", 
"Mairinque", "Mairipora", "Marilia", "Martinopolis", "Matao", 
"Maua", "Miracatu", "Mirandopolis", "Mirassol", "Mococa", "Mogi das Cruzes", 
"Mogi Guacu", "Moji-Mirim", "Mongagua", "Monte Alegre do Sul", 
"Monte Alto", "Monte Aprazivel", "Monte Mor", "Morro Agudo", 
"Nova Odessa", "Novo Horizonte", "Olimpia", "Orlandia", "Osasco", 
"Osvaldo Cruz", "Ourinhos", "Palmital", "Paraguacu Paulista", 
"Paulinia", "Pederneiras", "Pedreira", "Penapolis", "Pereira Barreto", 
"Peruibe", "Piedade", "Pilar do Sul", "Pindamonhangaba", "Pindorama", 
"Piracaia", "Piracicaba", "Piraju", "Pirajui", "Pirapora do Bom Jesus", 
"Pirapozinho", "Pirassununga", "Pitangueiras", "Poa", "Pompeia", 
"Pontal", "Porto Feliz", "Porto Ferreira", "Praia Grande", "Presidente Epitacio", 
"Presidente Prudente", "Presidente Venceslau", "Promissao", "Quadra", 
"Quata", "Rancharia", "Regente Feijo", "Registro", "Ribeirao Pires", 
"Ribeirao Preto", "Rio Claro", "Rio das Pedras", "Rio Grande da Serra", 
"Salto", "Salto de Pirapora", "Santa Adelia", "Santa Barbara d'Oeste", 
"Santa Cruz das Palmeiras", "Santa Cruz do Rio Pardo", "Santa Fe do Sul", 
"Santa Gertrudes", "Santa Isabel", "Santa Rita do Passa Quatro", 
"Santana de Parnaiba", "Santo Anastacio", "Santo Andre", "Santo Antonio de Posse", 
"Santos", "Sao Bernardo do Campo", "Sao Caetano do Sul", "Sao Carlos", 
"Sao Joao da Boa Vista", "Sao Joaquim da Barra", "Sao Jose do Rio Pardo", 
"Sao Jose do Rio Preto", "Sao Jose dos Campos", "Sao Lourenco da Serra", 
"Sao Manuel", "Sao Miguel Arcanjo", "Sao Paulo", "Sao Pedro", 
"Sao Roque", "Sao Sebastiao", "Sao Simao", "Sao Vicente", "Serra Negra", 
"Serrana", "Sertaozinho", "Socorro", "Sorocaba", "Sumare", "Suzano", 
"Taboao da Serra", "Tambau", "Tanabi", "Taquaritinga", "Taquarituba", 
"Tatui", "Taubate", "Teodoro Sampaio", "Tiete", "Tremembe", "Tupa", 
"Tupi Paulista", "Ubatuba", "Valinhos", "Vargem Grande do Sul", 
"Vargem Grande Paulista", "Varzea Paulista", "Vinhedo", "Votorantim", 
"Votuporanga", "(not set)", "Aracaju", "Estancia", "Itabaiana", 
"Itabaianinha", "Lagarto", "Propria", "Sao Cristovao", "Simao Dias", 
"Tobias Barreto", "(not set)", "Araguaina", "Gurupi", "Palmas", 
"Paraiso do Tocantins", "Porto Nacional"), users = c(547, 25, 
18776, 42, 32, 695, 697, 836, 3384, 24, 121, 4, 103, 144, 48, 
139, 87, 71, 1, 92, 55, 876, 20, 211, 31, 6875, 5, 5, 18412, 
756, 276, 908, 231, 652, 176, 1085, 159, 363, 232, 252, 322, 
498, 4049, 478, 810, 5, 137, 507, 337, 1127, 195, 34, 410, 594, 
827, 1015, 917, 509, 62, 10, 127, 18, 874, 123, 690, 218, 26239, 
84, 226, 860, 258, 57, 51, 28, 107, 456, 445, 483, 711, 339, 
2007, 2033, 142, 96, 120, 103, 131, 59, 448, 374, 289, 194, 17931, 
151, 114, 242, 44, 325, 1143, 172, 325, 138, 40, 59, 123, 84, 
98, 95, 3, 218, 79, 688, 160, 974, 71, 18, 2, 33, 201, 66, 118, 
451, 7, 284, 12, 17, 1, 68, 286, 48, 31, 45, 5, 353, 135, 10, 
57, 13, 84, 46, 31, 7, 56, 276, 1174, 13, 178, 3871, 1958, 1550, 
14, 277, 49, 849, 32, 525, 220, 261, 54, 93, 93, 149, 2, 148, 
11595, 68, 4, 111, 22, 74, 133, 76, 135, 149, 85, 119, 29, 28, 
515, 35, 21, 73, 36, 69, 377, 26, 73, 93, 105, 61, 289, 1959, 
31, 98, 153, 70, 198, 28, 80, 854, 103, 45, 110, 82, 3137, 129, 
1140, 48, 77, 136, 60, 49, 49, 2195, 103, 147, 90, 66, 181, 578, 
476, 156, 264, 191, 976, 75, 30, 3679, 45, 35, 670, 38, 28, 1, 
121, 54, 52, 156, 52, 489, 12931, 51, 611, 62, 246, 85, 477, 
612, 203, 90, 420, 822, 38018, 1416, 186, 228, 90, 143, 8, 67, 
117, 262, 11, 251, 25, 58, 30, 208, 660, 32, 80, 581, 85, 11, 
24, 197, 826, 2244, 91, 411, 355, 178, 1104, 121, 148, 25, 268, 
394, 544, 1732, 532, 684, 115, 1776, 770, 252, 689, 4, 475, 966, 
64, 265, 363, 157, 515, 122, 66, 3077, 3, 408, 4, 604, 946, 439, 
44, 171, 491, 191, 251, 125, 153, 276, 91, 136, 2305, 677, 121, 
56, 570, 280, 143, 275, 132, 590, 31, 222, 389, 114, 141, 898, 
1549, 804, 218, 77, 256, 35, 283, 11, 1378, 320, 1097, 58, 13, 
51, 969, 205, 606, 2, 21, 146, 59, 636, 105, 42, 479, 445, 101, 
996, 613, 217, 558, 87, 403, 27, 680, 1927, 6363, 356, 2489, 
40, 249, 502, 159, 1744, 115, 146, 467, 4290, 73, 30, 212, 94, 
319, 60, 17, 100, 323, 115, 21, 267, 110, 73, 1312, 14, 124, 
73, 293, 1970, 60, 218, 3663, 61, 70, 445, 67, 5, 155, 5, 146, 
4235, 297, 114, 60, 139, 32, 744, 469, 104, 329, 68, 241, 115, 
210, 22, 72, 138, 423, 101, 444, 460, 250, 79, 67, 2835, 269, 
133, 89, 419, 54, 856, 38, 175, 292, 184, 59, 37434, 317, 69, 
316, 2120, 687, 191, 253, 1158, 141, 134, 307, 100, 81, 199, 
35, 186, 206, 152, 114, 72, 199, 182, 5462, 189, 176, 40, 467, 
105, 5075, 72, 289, 427, 159, 81, 11, 112, 210, 109, 265, 499, 
476, 722, 371, 17, 83, 347, 85, 2056, 181, 48, 145, 39, 108, 
129, 38, 27, 107, 32, 197, 63, 11, 111, 81, 213, 135, 7, 1661, 
165, 389, 26, 59, 126, 9, 112, 91, 99, 754, 119, 709, 96, 4623, 
568, 603, 480, 339, 277, 342, 1121, 795, 709, 2267, 173, 864, 
26, 532, 418, 515, 609, 160, 9, 7, 3105, 317, 194, 1570, 430, 
190, 1410, 297, 2297, 15492, 490, 649, 480, 924, 376, 171, 1164, 
1337, 282, 128, 107, 1791, 890, 1027, 643, 31, 305, 113, 283, 
870, 1539, 103, 286, 2285, 253, 3, 2586, 43, 1, 90, 107, 219, 
4088, 174, 202, 1155, 265, 6, 892, 96, 155, 999, 911, 129, 1159, 
8, 647, 79, 101, 21, 755, 3842, 1342, 3553, 164, 85, 173, 63, 
2236, 119, 64, 10, 178, 595, 657, 210, 1, 1397, 82198, 265, 193, 
3923, 310, 1918, 96, 278, 57, 460, 291, 49, 152, 1023, 214, 314, 
43, 2743, 877, 6, 227, 258, 62, 103, 60, 1027, 4004, 4, 218, 
85, 68, 125, 18, 7532, 470, 1261, 8, 204, 180, 39, 835, 1241, 
139, 134, 285, 303, 925, 7, 525, 571, 250, 326, 253, 5458, 852, 
263, 42, 6013, 128, 773, 567, 521, 169, 1435, 130, 269, 354, 
301, 652, 275, 263, 680, 329, 264, 111, 650, 1436, 985, 365, 
361, 177, 970, 169, 321, 288, 229, 1127, 461, 677, 93, 157, 170, 
163, 3012, 677, 333, 375, 397, 2827, 4323, 423, 36133, 2385, 
173, 144, 113, 1723, 4067, 934, 236, 781, 381, 1090, 432, 408, 
93, 463, 58, 2466, 202, 329, 227, 230, 1049, 1356, 216, 198, 
167, 109, 317, 60, 603, 269, 57, 346, 1098, 807, 213, 476, 304, 
199, 830, 396, 635, 1638, 1087, 533, 125, 215, 85, 342, 28, 70, 
1119, 20, 132, 260, 47, 764, 5931, 225, 1271, 2031, 162, 1393, 
5859, 449, 1053, 1518, 1228, 871, 430, 830, 399, 3710, 1316, 
4804, 4, 486, 11016, 82, 402, 259, 135, 589, 119, 5, 540, 762, 
846, 3815, 1051, 22, 345, 178, 2024, 975, 12186, 2039, 420, 539, 
509, 180, 787, 27, 1891, 166, 301, 384, 343, 119, 589, 1085, 
364, 1770, 211, 188, 306, 1103, 751, 418, 3954, 680, 690, 40, 
386, 828, 1379, 2148, 336, 920, 901, 322, 6036, 331, 127, 125, 
101, 4, 2281, 41, 441, 572, 179, 157, 35, 80, 1203, 132, 1887, 
779, 299, 339, 626, 745, 2326, 131, 164, 491, 863, 140, 2349, 
175, 3963, 581, 227, 973, 87, 251, 156, 53, 1861, 1048, 89, 161, 
106, 41, 374, 58, 402, 445, 119, 127, 14366, 316, 228, 94, 147, 
136, 1, 102, 779, 2659, 99, 32, 1085, 246, 177, 35, 33, 8, 198, 
9, 96, 268, 1536, 152, 247, 465, 27, 120, 1508, 153, 297, 158, 
26, 889, 101, 2, 203, 444, 3460, 365, 338, 115, 37, 33, 130, 
108, 1082, 104, 1566, 7726, 97, 1562, 108, 259, 188, 7, 198, 
113, 127, 155, 1390, 11, 72, 155, 700, 214, 911, 378, 1039, 344, 
191, 1169, 319, 453, 89, 82, 778, 346, 61, 340, 1101, 43, 542, 
360, 330, 111, 145, 956, 34, 309, 3356, 28, 271, 447, 525, 2125, 
522, 532, 290, 112, 178, 2462, 49, 754, 1581, 7, 123, 300, 184, 
1948, 897, 377, 247, 20, 232, 87, 322, 92, 279, 190, 467, 121, 
5889, 244, 1625, 73, 355, 425, 319, 177, 458, 84, 357, 144, 155, 
882, 16, 69, 2576, 291, 123, 51, 147, 476, 70, 1258, 72, 159, 
274, 239, 2518, 291, 2762, 251, 203, 16, 43, 58, 146, 358, 312, 
6707, 1059, 118, 199, 674, 167, 92, 1031, 108, 222, 219, 11, 
72, 106, 442, 66, 7269, 61, 5332, 7420, 1020, 2079, 851, 80, 
257, 3633, 7100, 1, 105, 33, 178613, 137, 417, 308, 47, 3038, 
172, 64, 642, 199, 5116, 2155, 1051, 1630, 112, 95, 232, 159, 
1785, 1579, 73, 88, 146, 379, 75, 437, 716, 48, 50, 380, 388, 
345, 712, 438, 3780, 96, 220, 70, 318, 85, 8, 66, 69, 515, 314, 
142, 1142, 75, 55)), row.names = c(NA, -1158L), totals = list(
    list(users = "1240971")), minimums = list(list(users = "1")), maximums = list(
    list(users = "178613")), isDataGolden = TRUE, rowCount = 4969L, class = "data.frame")
````''

1 Ответ

0 голосов
/ 29 января 2020

Похоже, у вас есть пара относительно больших значений, в то время как большинство из них маленькие. Это вызывает «перекос» вашей цветовой гаммы таким образом, который выглядит менее интересным. Вместо отображения числа пользователей рассмотрим отображение на основе квантиля.

Вот реализация группирования по квантилям с использованием cut2() из Hmisc. В этом случае значения делятся на 5 групп.

#Join your objects, Brasil_cidades and braz. This is somewhat similar to your original code
Brasil_cidades<-Brasil_cidades %>%   left_join(braz, ., by = c('name' = 'city'))

#Create quantile groupings based on the value of Brasil_cidades$users. I create 5 groups
library(Hmisc)
Brasil_cidades$grouping <- as.numeric(cut2(Brasil_cidades$users, g=5))

#This map will fill color based on the quantile grouping
#You may want to rework the labels to your desired taste.
  ggplot(Brasil_cidades ) + 
  geom_sf(aes(fill = grouping))  + 
  scale_fill_gradient(low = "red",high = "yellow",
                      name = "Users", labels = c("Least users", "","","", "Most users"))

example of a quantile map of brazil users

...