In [ ]:
import pandas as pd
import geopandas as gpd
from lets_plot import *

LetsPlot.setup_html()
In [ ]:
states = pd.read_csv("../data/USA_States.csv")
states.head()
In [ ]:
LetsPlot.set(maptiles_zxy(url='https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'))
In [ ]:
ggplot(data=states) + geom_livemap(aes("Longitude", "Latitude"))
In [ ]:
dept = pd.read_csv("../data/usgs_dept_by_state_2019.csv")

dept.head()
In [ ]:
dept_gg = dept \
        .drop([" ", "Unnamed: 2", "Unnamed: 4", "State and Local Debt", 
               "Unnamed: 6", "Unnamed: 8", "Real State Growth %", "Unnamed: 10", "Population (million)"], axis=1) \
        .set_index("State") \
        .stack() \
        .reset_index() \
        .rename(columns={"level_1": "Item", 0: "$B"})


dept_gg
In [ ]:
ggplot(dept_gg) \
+ geom_bar(aes("State", "$B", fill="Item"), stat="identity", position="dodge", sampling="none") \
+ scale_fill_manual(values=["#FE0968", "#FF75A6", "#007BCD"]) \
+ ggsize(1000, 500)
In [ ]:
states_gdf = gpd.GeoDataFrame(states, geometry=gpd.points_from_xy(states.Longitude, states.Latitude))
states_gdf.head()
In [ ]:
ggplot(dept_gg) + geom_livemap(aes(sym_x="Item", sym_y="$B", fill="Item"), symbol='bar', size=30, map=states_gdf, map_join=["State", "State"])