Mapa symboli proporcjonalnych – gospodarstwa domowe z dostępem do internetu
Aby zwizualizować zmienną będącą liczebnością, możesz użyć mapy symboli proporcjonalnych – znaczniki mają rozmiary proporcjonalne do mapowanej wartości. W tym ćwiczeniu wyznaczysz centroid każdego stanu, utworzysz mapę bazową stanów i umieścisz na niej okrąg w każdym centroidzie, którego rozmiar odpowiada liczbie gospodarstw domowych z dostępem do internetu.
Pole powierzchni każdego znacznika powinno być proporcjonalne do wartości danych. Ponieważ rozmiary znaczników podaje się jako średnicę, musisz obliczyć pierwiastek kwadratowy z wartości kolumny. Rozmiary znaczników mogą wyglądać na zbyt duże lub zbyt małe. W tym ćwiczeniu podzielisz rozmiar znacznika przez 5 – to decyzja estetyczna.
geopandas jest zaimportowany z użyciem standardowego aliasu, a funkcja sqrt została zaimportowana z numpy.
GeoDataFrame geo_state został wczytany.
To ćwiczenie jest częścią kursu
Analiza danych spisowych USA w Pythonie
Instrukcje do ćwiczenia
- Wywołaj atrybut
centroidnageo_state_pti przypisz wynik do kolumnygeometry - Utwórz mapę bazową granic stanów, wywołując metodę
plotnageo_state; ustawcolorna"tan"iedgecolorna"black" - Utwórz zmienną
ms(do przekazania do parametrumarkersize) jako pierwiastek kwadratowy wartości kolumnygeo_state_pt["internet"]podzielonej przez5
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create point GeoDataFrame at centroid of states
geo_state_pt = geo_state.copy()
geo_state_pt["geometry"] = ____
# Set basemap and create variable for markersize
basemap = ____
ms = ____
# Plot proportional symbols on top of basemap
geo_state_pt.plot(ax = basemap, markersize = ms, color = "lightgray", edgecolor = "darkgray")
plt.show()