[Mit Plotly auf die Karte schreiben] Dynamische Visualisierung mit Plotly [Python]

python==3.8 plotly==4.10.0

Einführung des Kartenplots

Über easy Scatter_geo und Line_geo

Sie können eine Zahl erstellen, indem Sie den Längen- und Breitengrad angeben oder den Ländernamen aus dem Isocode angeben. Der Ländercode lautet hier

Es gibt mehrere Datensätze in Plotly. Verwenden wir also den Datensatz, in den bereits der Ländername und die eingegebenen Informationen eingegeben wurden. Sie können die unterstützten Daten von github überprüfen (https://github.com/plotly/datasets).

Der Ländername ist in iso_alpha und ich werde ihn basierend auf dem Kontinentnamen farblich kennzeichnen.

Sofort planen

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

Dieses Mal habe ich ein Format wie einen Globus gewählt, aber Sie können auch eine Karte oder eine halbkugelförmige Anzeige angeben

(Verwenden Sie die Funktion line_geo, um die Leitungen zu verbinden.)

image.png

Das zu zeichnende Format muss im Zeichenformat an die Projektion übergeben werden.

'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'

Kann angegeben werden. Oder wenn Sie nur einen bestimmten Bereich diskutieren möchten Umfang kann auch angegeben werden,

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

Sie können den Bereich von vergrößern

Sie können die Größe des Punkts auch ändern, indem Sie einen Wert an size übergeben Sie können auch Animationen erstellen, indem Sie numerische Daten und Zeitdaten an animation_frame übergeben. Es wird eine Animation erstellt, in der sich die Werte in der angegebenen Reihenfolge ändern.

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

Detailliertere Geschichte

Sie können FIPScode verwenden, um Farbcodierungen nach Unterteilungen wie kleinen Zuständen vorzunehmen. Dazu müssen Sie eine Geojson-Datei vorbereiten und den Länder- und Staatscode übergeben, was schwer zu erklären ist. Ich denke, es ist eine gute Idee, so viel zu überprüfen, wie Sie brauchen, wenn Sie es brauchen. Da etwas Geojson als Plot-Datensatz enthalten ist, wird empfohlen, es auf das anzuwenden, was Sie ausführen möchten, während Sie den Code und die Daten betrachten.

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

das ist alles

reference

Recommended Posts

[Mit Plotly auf die Karte schreiben] Dynamische Visualisierung mit Plotly [Python]
[Verschiedene Bildanalysen mit Plotly] Dynamische Visualisierung mit Plotly [Python, Bild]
Schreiben Sie mit Python in csv
[Zeitreihen mit Handlung] Dynamische Visualisierung mit Handlung [Python, Aktienkurs]
[Python] Mit Python in eine CSV-Datei schreiben
[Sprechen Sie über die Zeichnungsstruktur von plotly] Dynamische Visualisierung mit plotly [Python]
[Dichtevisualisierung] Plotly und dynamische Visualisierung [Python3, Hist, KDE, Join, Kontur, Heat Map]
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
Ich möchte mit Python in eine Datei schreiben
Visualisierung der Logistik mit Python
Schreiben Sie mit Lambda (Python, JavaScript) mehrere Datensätze in DynamoDB.
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Für diejenigen, die Python mit vim schreiben möchten
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Schreiben wir Python mitinema4d.
Schalten Sie Python mit Alternativen auf 2.7 um
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
So schreiben Sie offline in Echtzeit Lösen von E05-Problemen mit Python
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
Schön dich mit Python zu treffen
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
Konvertieren Sie die Liste mit Python in DataFrame
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Schreiben Sie FW mit TWE-Lite R an TWE-Lite.
Was tun mit PYTHON Release?
So berechnen Sie das Datum mit Python
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Mit Python 3 einfach auf Twitter posten
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Ich möchte mit Python debuggen
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Schreiben Sie Python nicht, wenn Sie es mit Python beschleunigen möchten
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
[Kapazitätsanzeige, Gantt-Diagramm, Benutzeroberfläche] Plotly dynamische Visualisierung [Python, Messanzeige, Gantt-Diagramm]
So schreiben Sie offline in Echtzeit Lösen von F01-Problemen mit Python
[Python] Heatmap im Kalenderstil (mit Feiertagsanzeige)
Das 16. Offline-Echtzeit-Schreibproblem wurde mit Python gelöst
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Englische Spracherkennung mit Python [Rede zu Text]
Konvertieren Sie Memos sofort mit Python 2to3
HTML-Mail mit Bild zum Senden mit Python
[Visualisierung des Verhältnisses] Plotly und dynamische Visualisierung [Python, Pie, Sunburst, Sanky, Treemap, Fannele,]
Memo, um nach KPI mit Python zu fragen
Python nur mit Hallo, Welten zu erinnern