Visualisierung von geografischen Informationen von R und Python, die von Power BI ausgedrückt werden können

Dieser Artikel nimmt an Power BI Adventskalender 2019 von Prince @ yugoes1021 teil.

Ich habe kein Material mehr

Ich habe verschiedene geografische Serien in Power BI geschrieben, aber unter dem Gesichtspunkt, sie einfach auf einer Karte zu visualisieren, ist nicht mehr viel Material übrig, sodass es sich in der Regel um einen Artikel handelt, der die Ecke einer schweren Kiste berührt. (Ich habe jedoch weder die Ressourcen noch die Zeit, um die Webversion oder Embedded zu berühren.)

Geografische Analyse mit Power BI (Basis) Geografische Analyse mit Power BI (Anwendung 1) Geografische Analyse mit Power BI (Anwendung 2) US-Karte mit Power BI Adventskalender 2017 Geografische Analyse mit PowerBI (Zusammenfassung 2018) Adventskalender 2018

Daher habe ich mich für die Möglichkeit entschieden, dass es sich um eine Karte mit R oder Python auf Power BI Desktop handelt. Erweiterungen in R und Python werden an verschiedenen Stellen eingeführt, daher werden hier nur die offiziellen Links verwendet.

Erstellen von Power BI-Grafiken mit R Python-Skripte in Power BI Desktop ausführen

Als Problem werden wir die Punktdatenvisualisierung verwenden, die wir als Benchmark verwendet haben. Wir werten mit denselben offenen Uber-Daten wie zuvor aus. Taxisondendaten für San Francisco.

Grundsätzlich konzentrieren wir uns zum Zweck der einfachen Anzeige darauf, wie R, Python in Power BI aufgerufen werden, wie Punktdaten in jeder Bibliothek angezeigt werden, wie der Anzeigebereich dynamisch geändert wird usw. Jede Bibliothek hat eine ganz andere Idee, daher wäre es schön, wenn Sie dies auch vermitteln könnten, aber mit dieser Größe ist dies nicht möglich. .. ..

R

R hat mehr Variationen. Power BI hat mehr Geschichte als Python. Ein kleiner Stolperstein ist die von PowerBI verwendete R-Version und der Installationsort. Sie können es auf der Optionsseite unten festlegen. Geben Sie daher den R-Interpreter an, den Sie verwenden möchten, und verwenden Sie ihn immer. Auf diese Weise sparen Sie sich die Mühe, die Bibliothek zu installieren.

image.png

Derselbe Interpreter kann jedoch die Umgebung im Benutzerordner speichern. In diesem Fall müssen Sie sie in einer globalen Interpreterumgebung installieren.

library(maps)

Es ist eine alte Bibliothek. Grundsätzlich werden verschiedene weiße Karten angezeigt und Daten darauf angezeigt. (Die ggmap im Code wird nur für die Komfortfunktion verwendet, um den Begrenzungsrahmen abzurufen.) Mit der Funktion with können Sie Punkte überlagern.

library(maps)
library(ggmap)
sbbox <- make_bbox(lon = dataset$longitude, lat = dataset$latitude, f = 0)
map('usa', col = "grey", fill = TRUE, bg = "white", border = 0, 
  xlim = c(sbbox[1], sbbox[3]), ylim = c(sbbox[2], sbbox[4]))
with(dataset, points(longitude, latitude, pch = 1, col = 'blue', cex = .2))

image.png

library(sf)

Eine Bibliothek zum angemessenen Umgang mit Geodaten. Sie müssen es einmal in einen Datenrahmen im SF-Format konvertieren. Sie können den Datenrahmen direkt zeichnen.

library(sf)
library(sp)
dfsf <- dataset %>% st_as_sf(coords = c('longitude', 'latitude'), crs = 4236)
plot(dfsf, col = "blue", pch = 21)

image.png

library(tmap)

Es ist eine Bibliothek, mit der Sie relativ einfach verschiedene Themendiagramme zeichnen können. Dies ist praktisch, da Sie zwischen dem normalen Plotmodus und dem Ansichtsmodus wechseln können, in dem der Leaflet Viewer gestartet wird. Wie bei anderen konnte PowerBI nichts anderes tun, als einen Browser auf dem externen Bildschirm der Broschüre zu starten. Wie Sie unten sehen können, kann die Grundkarte jedoch nicht im Plotmodus eingefügt werden. Es tut uns leid.

library(tmap)
library(dplyr)
library(sf)
library(sp)
dfsf <- dataset %>% st_as_sf(coords = c('longitude', 'latitude'), crs = 4236)
tmap_mode("plot")
map <- tm_shape(dfsf, name = "uber") +
    tm_symbols(shape = 21, col = "blue", size = 0.05) +
    tm_basemap("Stamen.Watercolor")
map

image.png

library(ggplot2)

Die Möglichkeit, Karten zu zeichnen, ist in ggplot integriert. Möglicherweise ist der am häufigsten verwendete Datenprozessor normalerweise der für Sie am besten geeignete.

library(ggplot2)
library(mapproj)
library(ggmap)
sbbox <- make_bbox(lon = dataset$longitude, lat = dataset$latitude, f = 0)
usmap <- map_data("state") 
ggplot() +
    geom_polygon(data = usmap, aes(x = long, y = lat, group = group), fill = "grey", alpha = 0.5) +
    geom_point(data = dataset, aes(x = longitude, y = latitude)) +
    theme_void() + coord_map(xlim = c(sbbox[1], sbbox[3]), ylim = c(sbbox[2], sbbox[4]))

image.png

library(ggmap)

Wenn Sie eine detailliertere Hintergrundkarte wünschen, ist dies die richtige. Der API-Schlüssel muss registriert werden, wahrscheinlich weil die Einschränkungen der Google Maps-API verschärft wurden. Stellen Sie außerdem sicher, dass Sie die folgende Entwicklungsversion mit nützlichen Registrierungsfunktionen erhalten.

Wenn Sie die neueste Version in Ihrer R-Umgebung mithilfe der folgenden Methode installieren, wird eine Funktion namens register_google hinzugefügt, die die Schlüsseleinstellung ermöglicht. Aktualisieren Sie sie daher.

devtools::install_github("dkahle/ggmap")
library(ggplot2)
library(mapproj)
library(ggmap)
register_google(key = "YOUR_API_KEY")
sbbox <- make_bbox(lon = dataset$longitude, lat = dataset$latitude, f = 0)
map <- get_stamenmap(bbox = sbbox, zoom = 13, maptype = "toner-lite")
ggmap(map) +
    geom_point(aes(x = longitude, y = latitude), color = "blue" ,data = dataset, alpha = .5)

image.png

Python

Python verfügt über eine vollwertige Kartenvisualisierungsbibliothek wie Folium und Shapely sowie eine Geodatenverarbeitungsbibliothek wie Geopandas, die sehr einfach zu handhaben ist. Als ich sie jedoch in Power BI ausprobierte, funktionierte sie nicht einfach. tat. Es gab auch eine Person, die Folium ausführen wollte, aber wie unten gezeigt, scheint es, dass nur eine begrenzte Bibliothek mit dem aktuellen Power BI funktioniert, also habe ich beschlossen, gehorsam aufzugeben. .. ..

Help to implement Python Script - Microsoft Power BI Community

The following Python packages (non-Intel MKL) are currently supported for use in your Power BI reports. Reference: Python packages and versions

  • Matplotlib

Python legt auch den folgenden Interpreter fest. Ich denke, es wird Anaconda sein, aber bitte beachten Sie, dass selbst wenn Sie eine neue Bibliothek installieren, diese mit Power BI nicht funktioniert.

image.png

Matplotlib

Unter diesen scheint Matplotlib eine Bibliothek namens mpl_toolkits: basemap zu haben. Es ist kein Matplotlib-Standard und muss installiert werden. Derzeit wird die Pip-Installation nicht unterstützt und Conda usw. wird verwendet.

conda install -c anaconda basemap

Nach der Installation mit kann es in der Anaconda-Umgebung verwendet werden.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
m = Basemap(llcrnrlon=BBox[0],llcrnrlat=BBox[2],urcrnrlon=BBox[1],urcrnrlat=BBox[3])
m.drawcoastlines()
x, y = m(dataset.longitude, dataset.latitude)
m.plot(x, y, 'o')
plt.show()

Ergebnisse mit VSCode: image.png

Es funktionierte jedoch nicht mit PowerBI, da es sich in erster Linie nicht um eine andere Bibliothek als Matplotlib handelte. orz

Jährliche Leistungsbewertung

Wir verwenden dieselben Daten wie zuvor. Vergleichen wir sie daher mit der Standardbibliothek. Ich habe versucht, die Anzahl der Datensätze im Voraus mit dem Abfrageeditor einzugrenzen. Python macht Tee schlammig und zeigt einfach ein zweidimensionales Diagramm an.

1.000 Datensätze

Es wird problemlos einschließlich der Standardkarte angezeigt. Es ist nur die angezeigte Nummer. image.png

10.000 Datensätze

Die Standardkarte gibt eine Meldung aus, dass nicht alle Punkte angezeigt werden. Es scheint, dass es keine größeren Auslassungen gibt, wie ich andere gesehen habe. Die Geschwindigkeit ändert sich auch nicht viel.

image.png

100.000 Datensätze

ArcGIS hat begonnen zu spielen. Die Standardkarte scheint zufällig ausgewählt worden zu sein, und der Erscheinungsbereich hat sich nicht wesentlich geändert. Ich weiß nicht, dass andere Bibliotheken unter PowerBI ausgeführt werden, und es scheint, dass sie alle angezeigt werden können. (Ja wirklich?) Es ändert sich nicht viel, außer dass tmap und ggmap etwas langsam sind. Sie müssen keine Minute warten.

image.png

1.000.000 Datensätze

An diesem Punkt scheinen die Daten auch für R-Visuals ausgedünnt zu werden. In den Uber-Daten gibt es auch ein Auto, das nach Las Vegas fährt, sodass ggmap Zeit braucht, um das Ganze anzuzeigen (das Vergrößerungsverhältnis der Karte muss angepasst werden).

image.png

Zusammenfassung

In einer so einfachen Karte ist es sinnlos, R-Code zur Visualisierung zu verwenden. Wenn Sie jedoch eine spezielle Zeichnung oder Berechnung benötigen, können Sie eine Bibliothek fest in R einbetten und verwenden. Ich dachte, es könnte eine Wende geben.

Recommended Posts

Visualisierung von geografischen Informationen von R und Python, die von Power BI ausgedrückt werden können
Untersuchung der von Python steuerbaren Gleichstromversorgung
Zusammenfassung der statistischen Datenanalysemethoden mit Python, die im Geschäftsleben verwendet werden können
Richten Sie einen FTP-Server ein, der sofort erstellt und zerstört werden kann (in Python).
Zeichnen Sie geografische Informationen in Python
Python3-Verarbeitung, die in Paiza verwendbar zu sein scheint
Skripte, die bei der Verwendung von Bottle in Python verwendet werden können
Bewertungsindex, der für GridSearchCV von sklearn angegeben werden kann
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Ich habe die Jumbo-Lotterie zum Jahresende mit Python gekauft und analysiert, die in Colaboratory ausgeführt werden kann
Dies und das von Python-Eigenschaften
Hashing von Daten in R und Python
Zusammenfassung der Standardeingabe von Python, die in Competition Pro verwendet werden kann
Ich habe einen Tri-Tree geschrieben, der für die Implementierung von Hochgeschwindigkeitswörterbüchern in D-Sprache und Python verwendet werden kann
Einfaches Auffüllen von Daten, die in der Verarbeitung natürlicher Sprache verwendet werden können
Maximale Anzahl von Funktionsparametern, die in jeder Sprache definiert werden können
Grundlagen der Tableau-Grundlagen (Visualisierung mit geografischen Informationen)
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Artikel, der eine Person sein kann, die den Mechanismus der API versteht und beherrscht (mit Python-Code)
Klasse für PYTHON, die ohne Kenntnis von LDAP betrieben werden kann
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Persönliche Notizen zu Pandas-bezogenen Vorgängen, die in der Praxis verwendet werden können
Einfache Programminstallation und automatische Programmaktualisierung, die in jeder Sprache verwendet werden kann
Liste der Tools, mit denen Sie auf einfache Weise die Emotionsanalyse japanischer Sätze mit Python ausprobieren können (versuchen Sie es mit Google Colab).
Funktionen, die in der for-Anweisung verwendet werden können
Erstellen von Sphinx, das mit Markdown geschrieben werden kann
Echtzeitvisualisierung von Thermografie AMG8833-Daten in Python
[Python] Ich habe eine Praxis untersucht, die durch asynchrone Verarbeitung (Multiprocessing, Asyncio) parallel zum Hauptthread ausgeführt werden kann.
Machen Sie mit Python eine Joyplot-ähnliche Handlung von R.
R- und Python-Schreibvergleich (euklidische Methode der gegenseitigen Teilung)
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Übersicht und nützliche Funktionen von Scikit-Learn, die auch für Deep Learning verwendet werden können
[Einführung in Python] Zusammenfassung der Funktionen und Methoden, die häufig in Python vorkommen [Problemformat]
[Python] Einführung in das WEB-Scraping | Zusammenfassung der Methoden, die mit dem Webdriver verwendet werden können
Morphologische Analyse und tfidf (mit Testcode), die in ca. 1 Minute durchgeführt werden können
Hinweise zur Verwendung von StatsModels, die lineare Regression und GLM in Python verwenden können
In Python3.8 und höher kann der inverse Mod mit der integrierten Funktion pow berechnet werden.
Ein Mechanismus zum Aufrufen von Ruby-Methoden aus Python, der in 200 Zeilen ausgeführt werden kann
Einfache Statistiken, mit denen die Auswirkungen von Maßnahmen auf EG-Standorte und Codes analysiert werden können, die in Jupyter-Notebooks verwendet werden können
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Grundlegende Algorithmen, die bei Wettkampfprofis eingesetzt werden können
Berechnung der Standardabweichung und des Korrelationskoeffizienten in Python
Um Japanisch mit Python in der Docker-Umgebung verwenden zu können
Unterschied zwischen Ruby und Python in Bezug auf Variablen
Hinweise zu Python-Kenntnissen, die mit AtCoder verwendet werden können
Ein Liner, der mit Python ein Umfangsverhältnis von 1000000 Stellen ausgibt
ANTs Bildregistrierung, die in 5 Minuten verwendet werden kann
Kann bei Wettkampfprofis eingesetzt werden! Python-Standardbibliothek
Nichtlineare simultane Gleichungen können mit Python leicht gelöst werden.
Beispiel für das Abrufen des Modulnamens und des Klassennamens in Python
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
Installieren Sie Mecab und CaboCha auf ubuntu16.04LTS, damit es aus der Python3-Serie verwendet werden kann
So richten Sie einen einfachen SMTP-Server ein, der lokal in Python getestet werden kann
Kann mit AtCoder verwendet werden! Eine Sammlung von Techniken zum Zeichnen von Kurzcode in Python!
[Django] Feldnamen, die für das Benutzermodell, die Benutzerregistrierung und die Anmeldemethoden verwendet werden können