import pandas as pd
import geopandas as gpd
from lets_plot import *
LetsPlot.setup_html()
states = pd.read_csv("../data/USA_States.csv")
states.head()
LetsPlot.set(maptiles_zxy(url='https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'))
ggplot(data=states) + geom_livemap(aes("Longitude", "Latitude"))
dept = pd.read_csv("../data/usgs_dept_by_state_2019.csv")
dept.head()
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
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)
states_gdf = gpd.GeoDataFrame(states, geometry=gpd.points_from_xy(states.Longitude, states.Latitude))
states_gdf.head()
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"])