[Écrire sur la carte avec plotly] Visualisation dynamique avec plotly [python]

python==3.8 plotly==4.10.0

Introduction du tracé cartographique

À propos de scatter_geo et line_geo faciles

Vous pouvez faire un chiffre en spécifiant la longitude et la latitude, ou en spécifiant le nom du pays à partir de l'iso-code. Le code du pays est ici

Il existe plusieurs ensembles de données dans plotly, alors utilisons celui qui contient déjà le nom du pays et les informations saisies. Vous pouvez vérifier les données prises en charge depuis github (https://github.com/plotly/datasets)

Le nom du pays est en iso_alpha, et je vais le coder en couleur en fonction du nom du continent.

Tracer immédiatement

import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter_geo(df, locations="iso_alpha",
                  color="continent",
                  projection="orthographic")
fig.show()

image.png

Cette fois, j'ai choisi un format comme un globe, mais vous pouvez également spécifier une carte ou un affichage hémisphérique

(Utilisez la fonction line_geo pour connecter les lignes)

image.png

Le format à tracer doit être passé à la projection au format caractère,

'equirectangular', 'mercator', 'orthographic', 'natural earth', 'kavrayskiy7', 'miller', 'robinson', 'eckert4', 'azimuthal equal area', 'azimuthal equidistant', 'conic equal area', 'conic conformal', 'conic equidistant', 'gnomonic', 'stereographic', 'mollweide', 'hammer', 'transverse mercator', 'albers usa', 'winkel tripel', 'aitoff', 'sinusoidal'

Peut être spécifié. Ou si vous souhaitez discuter uniquement d'un domaine spécifique la portée peut également être spécifiée,

 'world', 'usa', 'europe', 'asia', 'africa', 'north america', 'south america', 'albers usa'

Vous pouvez agrandir la zone de

Vous pouvez également modifier la taille du point en passant une valeur à size Vous pouvez également créer des animations en passant des données numériques et temporelles à animation_frame. Il crée une animation dans laquelle les valeurs changent dans l'ordre spécifié.

import plotly.express as px
df = px.data.gapminder()
fig = px.scatter_geo(df, 
  locations="iso_alpha", 
  color="continent",
  hover_name="country", 
  size="pop",
  animation_frame="year",
  projection="natural earth")
fig.show()

bbb.gif

Histoire plus détaillée

Vous pouvez utiliser FIPScode pour colorer le code par subdivisions telles que les petits états. Pour ce faire, vous devez préparer un fichier geojson et transmettre le code du pays et le code de l'état, ce qui est difficile à expliquer. Je pense que c'est une bonne idée de vérifier autant que vous en avez besoin, quand vous en avez besoin. Étant donné que certains geojson sont inclus en tant qu'ensemble de données parcellaires, il est recommandé de l'appliquer à ce que vous souhaitez exécuter tout en regardant le code et les données.

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.express as px

fig = px.choropleth(df, geojson=counties, locations='fips', color='unemp',
                           color_continuous_scale="Viridis",
                           range_color=(0, 12),
                           scope="usa",
                           labels={'unemp':'unemployment rate'}
                          )
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

image.png

import plotly.express as px

df = px.data.gapminder().query("year == 2007")
avg_lifeExp = (df['lifeExp']*df['pop']).sum()/df['pop'].sum()

fig = px.choropleth(df, locations="iso_alpha", color="lifeExp",
                    color_continuous_scale=px.colors.diverging.BrBG,
                    color_continuous_midpoint=avg_lifeExp,
                    title="World Average Life Expectancy in 2007 in years was %.1f" % avg_lifeExp)
fig.show()

image.png

import plotly.express as px
df = px.data.carshare()
fig = px.scatter_mapbox(df, lat="centroid_lat", lon="centroid_lon", color="peak_hour", size="car_hours",
                  color_continuous_scale=px.colors.cyclical.IceFire, size_max=15, zoom=10,
                  mapbox_style="carto-positron")
fig.show()

image.png

c'est tout

reference

Recommended Posts

[Écrire sur la carte avec plotly] Visualisation dynamique avec plotly [python]
[Diverses analyses d'images avec plotly] Visualisation dynamique avec plotly [python, image]
Écrire en csv avec Python
[Série chronologique avec plotly] Visualisation dynamique avec plotly [python, cours boursier]
[Python] Ecrire dans un fichier csv avec Python
[Parlez de la structure de dessin de plotly] Visualisation dynamique avec plotly [python]
[Visualisation de la densité] Visualisation tracée et dynamique [python3, hist, kde, jointure, contour, heat map]
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
Je veux écrire dans un fichier avec Python
Visualisation de la logistique avec Python
Écrire plusieurs enregistrements dans DynamoDB avec Lambda (Python, JavaScript)
[Python] Un mémo pour écrire du CSV verticalement avec Pandas
Pour ceux qui veulent écrire Python avec vim
Connectez-vous à BigQuery avec Python
Connectez-vous à Wikipedia avec Python
Publiez sur Slack avec Python 3
Écrivons python avec cinema4d.
Basculer python vers 2.7 avec des alternatives
[Visualisation] Je veux dessiner un beau graphique avec Plotly
Comment écrire hors ligne en temps réel Résolution des problèmes E05 avec Python
Python: comment utiliser async avec
Lien pour commencer avec python
Ravi de vous rencontrer avec python
Essayez d'exploiter Facebook avec Python
Sortie vers un fichier csv avec Python
Convertir la liste en DataFrame avec python
Conversion MP3 → WAV avec Python
Pour faire une récursion avec Python2
Comment démarrer avec Python
Écrivez FW sur TWE-Lite avec TWE-Lite R.
Que faire avec la sortie de PYTHON?
Comment calculer la date avec python
Visualisez facilement vos données avec Python seaborn.
Publiez facilement sur Twitter avec Python 3
Analyse de données à partir de python (visualisation de données 1)
Je veux déboguer avec Python
Analyse de données à partir de python (visualisation de données 2)
Ecrire un script batch avec Python3.5 ~
N'écrivez pas Python si vous voulez l'accélérer avec Python
Essayez d'afficher la carte google et la carte géographique avec python
[Indicateur de capacité, diagramme de Gantt, interface utilisateur] Visualisation tracé dynamique [python, affichage de jauge, diagramme de Gantt]
Comment écrire hors ligne en temps réel Résolution des problèmes F01 avec Python
Écrire de la documentation dans Sphinx avec Python Livereload
[Python] Carte thermique de style calendrier (avec affichage des jours fériés)
Le 16ème problème d'écriture en temps réel hors ligne a été résolu avec Python
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
Reconnaissance vocale en anglais avec python [speech to text]
Convertir un mémo à la fois avec Python 2to3
mail html avec image à envoyer avec python
[Visualisation du ratio] Visualisation tracée et dynamique [python, pie, sunburst, sanky, treemap, fannele,]
Mémo pour demander des KPI avec python
python à retenir uniquement avec bonjour, mondes