from bookstack import Bookstack from update_films_by_country import get_films_by_country, build_page as build_films_by_country_page, FILMS_BY_COUNTRY_PAGE_ID from update_films_by_year import get_films_by_year, build_page as build_films_by_year_page, FILMS_BY_YEAR_PAGE_ID from vcinema_utils import VCinemaUtils from update_viewings_csv import update_viewings_csv import argparse from progress.bar import IncrementalBar import plotly.express as px import pandas import geopandas import numpy as np from urllib.request import urlopen import json country_alpha3 = {} def plot_countries(token_id, token_secret): df = pandas.read_csv('country_count.csv', header=0) url = 'https://raw.githubusercontent.com/datasets/geo-countries/master/data/countries.geojson' with urlopen(url) as response: countries = json.load(response) print(countries['features'][0]['properties'].keys()) fig = px.choropleth_mapbox(df,geojson=countries,locations=df['Alpha'],color=np.log10(df['Count']),hover_name=df['Country'],hover_data=[df['Count']],color_continuous_scale=px.colors.sequential.YlGn, featureidkey="properties.ISO_A3",mapbox_style="stamen-terrain",opacity=0.5) fig.update_geos(fitbounds="locations") fig.update_traces(hovertemplate="%{hovertext}
Count: %{customdata}") fig.update_layout(coloraxis_showscale=False) fig.show() # def test(): from urllib.request import urlopen import json with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response: counties = json.load(response) import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/fips-unemp-16.csv", dtype={"fips": str}) import plotly.graph_objects as go print("DF") print(df) fig = go.Figure(go.Choroplethmapbox(geojson=counties, locations=df.fips, z=df.unemp, colorscale="Viridis", zmin=0, zmax=12, marker_opacity=0.5, marker_line_width=0)) fig.update_layout(mapbox_style="carto-positron", mapbox_zoom=3, mapbox_center={"lat": 37.0902, "lon": -95.7129}) fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0}) fig.show() if __name__ == '__main__': parser = argparse.ArgumentParser(description='Update wiki pages.') parser.add_argument('token_id', help='API token ID.') parser.add_argument('token_secret', help='API token secret.') args = parser.parse_args() # test() plot_countries(args.token_id, args.token_secret) # pycountry.countries.get(name='American Samoa').alpha2