Показывать только точки на карте, используемые пакетом листовок в R - PullRequest
1 голос
/ 04 мая 2020

Как настроить код листовки, чтобы отображались только точки? похоже на мою диаграмму рассеяния. Я вставил ниже исполняемый код, а также рисунок, сравнивающий их. Я действительно не знаю, как работать с листовкой. Если кто-нибудь может мне помочь, я ценю это.

library(leaflet)
library(geosphere)

#database
df<-structure(list(Properties = c(1,2,3,4,5,6,7,8,9,10), Latitude = c(-23.2, -23.6, -23.9, -23.9, -23.6,  -23.5, -23.9, -23.9, -23.6, -23.9), 
Longitude = c(-49.6, -49.6, -49.6, -49.4, -49.3, -49.9, -49.3, -49.2, -49.6, -49.9)), class="data.frame",row.names = c(NA, -10L))

#clusters
d<-as.dist(distm(df[,2:1]))
fit.average<-hclust(d,method="average") 
clusters<-cutree(fit.average, 4) 
df$cluster<-clusters

#Map for Scatterplot
suppressPackageStartupMessages(library(ggplot2))
g<-ggplot(df, aes(x=Longitude,y=Latitude, color=factor(clusters)))+ geom_point()
g

#Map using leaflet
example=df
m=leaflet(data=example)%>%
addTiles() %>%
addPolylines(lat=~Latitude,lng = ~Longitude,color="red")
m


enter image description here Большое спасибо !!

1 Ответ

3 голосов
/ 04 мая 2020

Используйте

addMarkers(lat= ~Latitude, lng = ~Longitude, color= "red")

вместо

addPolylines(lat= ~Latitude, lng = ~Longitude, color= "red")

, чтобы иметь пространственные точки. Или используйте

addCircleMarkers(lat=~Latitude, lng = ~Longitude, color= "red")

Обновление

Для назначения того же цвета точкам, которые были из тех же кластеров, используйте следующий код

getColor <- function(example) {
  sapply(example$cluster, function(cluster) {
    if(cluster == 1) {
      "blue"
    } else if(cluster == 2) {
      "green"
    } else if(cluster == 3) {
      "orange"
    } else {
      "red"
    } })
}

icons <- awesomeIcons(
  icon = 'ios-close',
  iconColor = 'black',
  library = 'ion',
  markerColor = getColor(example)
)

leaflet(example) %>% addTiles() %>%
  addAwesomeMarkers(lat=~Latitude, lng = ~Longitude, icon=icons, label=~as.character(cluster))

enter image description here

...