April 10, 2017

df <- data.frame(names=c("Warszawa", "Kraków", "Łódź", "Wrocław", "Poznań", 
                         "Gdańsk", "Szczecin", "Bydgoszcz", "Lublin", "Katowice"),
                 lat=c(52.232222, 50.061389, 51.776667, 51.11, 52.408333,
                        54.3475, 53.438056, 53.125, 51.248056, 50.264167),
                 lng=c(21.008333, 19.938333, 19.454722, 17.022222, 16.934167,
                       18.645278, 14.542222, 18.011111, 22.570278, 19.023611),
                 population=c(1748916, 762448, 698688, 637075, 541561,
                              462996, 405413, 354990, 340745, 299012),
                 stringsAsFactors=FALSE)
df$labels = paste0("<b><center>", df$names, "</center></b><br/>",
                               "population: ", format(round(as.numeric(df$population), 1), big.mark=" "), "<br/>",
                               "place: ", 1:10)
pal <- colorNumeric(palette="Blues", domain=c(-3000000,3000000))
df %>%
  leaflet() %>%
  addTiles() %>%
  addCircles(lng=df$lng, lat=df$lat, popup=df$labels, weight=2, radius=sqrt(df$population) * 40, color=~pal(df$population))