Based on Census results of 2011, top 10 cities in India by population are Mumbai, Delhi, Bangalore, Hyderabad, Ahmedabad, Chennai, Kolkata, Surat, Pune and Jaipur. Goal of this plot is to idenify these cities on map indicating relative population among them. (Ref: Wiki page on List of cities of India by population) Data on Latitudes and Longitudes of these cities are obtained from India Latitude and Logitudes site
| City | Population (2011) | Latitude | Longitude |
|---|---|---|---|
| Mumbai | 12442373 | 19.07283 | 72.88261 |
| Delhi | 11034555 | 28.65381 | 77.22897 |
| Bangalore | 8443675 | 12.97194 | 77.59369 |
| Hyderabad | 6731790 | 17.38405 | 78.45636 |
| Ahmedabad | 5577940 | 23.02579 | 72.58727 |
| Chennai | 4646732 | 13.08784 | 80.27847 |
| Kolkata | 4496694 | 22.56263 | 88.36304 |
| Surat | 4467797 | 21.19594 | 72.83023 |
| Pune | 3124458 | 18.51957 | 73.85535 |
| Jaipur | 3046163 | 26.91962 | 75.78781 |
To demonstrate relative population of these cities we draw a circle around these cities, where radius of each circle is 1/100th of square root of population of the city at the centre of the circle.
cityMap <- dfCities %>%
leaflet() %>%
addTiles() %>%
addCircleMarkers(lat = dfCities$lat, lng = dfCities$lng, weight = 5, radius = sqrt(dfCities$pop)/100) %>%
addPopups(lat = dfCities$lat, lng = dfCities$lng, popup = dfCities$name)
cityMap