Heim > Artikel > Backend-Entwicklung > Von Bronze bis King, fünf Python-Bibliotheken für erweiterte Datenvisualisierung 2.0!
Die Tools und Programmbibliotheken für die Datenvisualisierung sind äußerst zahlreich geworden. Wenn Sie sich an eines oder mehrere davon gewöhnen, werden Sie einen tollen Job machen, aber wenn Sie selbstgefällig werden, werden Sie Sie werden neue Tools und Bibliotheken von Bronze bis King verpassen. Wenn Sie immer noch mit Matplotlib (was großartig ist), Seaborn (was auch großartig ist), Pandas (grundlegende, einfache Visualisierungen) und Bokeh nicht weiterkommen, dann sollten Sie wirklich innehalten und etwas Neues lernen. Es gibt beispielsweise viele erstaunliche Visualisierungsbibliotheken in Python, und sie sind bereits sehr allgemein gehalten, wie zum Beispiel die folgenden fünf:
Plotly
Cufflinks
Folium
Altair + Vega
D3.js (ich persönlich finde das Beste gut Wahl, da ich auch in JS programmiere)
Wenn Sie die oben genannten Bibliotheken verstehen und nutzen, sind Sie auf dem richtigen Weg der Evolution. Sie können dabei helfen, beeindruckende Visualisierungen zu erstellen, und die Syntax ist auch nicht schwierig. Im Allgemeinen bevorzuge ich Plotly+Cufflinks und D3.js. Hier sind die Details:
Plotly
Plotly ist eine Open-Source-, interaktive und browserbasierte Python-Grafik Bibliothek. Es ist möglich, interaktive Diagramme zu erstellen, die in Dashboards oder auf Websites verwendet werden können (Sie können sie als HTML-Dateien oder statische Bilder speichern). Plotly basiert auf plotly.js, das wiederum auf D3.js basiert. Es handelt sich also um eine erweiterte Diagrammbibliothek. Die Stärke von Plotly liegt in der Erstellung interaktiver Diagramme. Es gibt mehr als 30 Diagrammtypen, von denen einige in den meisten Diagrammen enthalten sind sich nicht in der Bibliothek befinden, wie etwa Höhenliniendiagramme, Baumdiagramme, wissenschaftliche Diagramme, statistische Diagramme, 3D-Diagramme, Finanzdiagramme usw. Das Beste an Plotly ist, dass es in einem Jupyter-Notizbuch oder einer eigenständigen HTML-Seite verwendet werden kann. Sie können es auch online auf ihrer Website verwenden, aber ich verwende es lieber offline. Sie können die Visualisierung auch als Bild speichern, sehr einfach zu verwenden und sehr nützlich.
– So verwenden Sie Plotly in Jupyter Notebook (offline)
Installieren Sie zunächst die Plotly-Bibliothek.
pip install plotly
Dann öffnen Sie das Jupyter-Notizbuch und geben Sie Folgendes ein:
from plotly import __version__ from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot init_notebook_mode(connected = True)
Die Syntax ist supereinfach! In Pandas verwenden Sie dataframe.plot(), hier verwenden Sie dataframe.iplot(). Dieses „i“ verändert die gesamte Definition von Visualisierung.
Mit nur einer Codezeile habe ich das Streudiagramm unten generiert. Sie können es an Ihre Bedürfnisse anpassen. Denken Sie daran, das Muster-Tag anzugeben, sonst erhalten Sie einige Zeilen.
Bitte beachten Sie, dass die Handlung mit zunehmender Datenmenge stecken bleibt. Deshalb verwende ich „plotly“ nur, wenn die Datenpunkte weniger als 500 KB groß sind.
Verwandte Empfehlungen: „Python-Video-Tutorial“
Manschettenknöpfe
Manschettenknöpfe binden Plotly direkt an Pandas-Datenrahmen. Diese Kombination ist erstaunlich, da sie die Flexibilität von Pandas mit mehr Effizienz als Plotly und einer noch einfacheren Syntax als Plotly kombiniert. Mit der Python-Bibliothek von plotly können Sie die Reihen und Indizes eines DataFrames verwenden, um das Diagramm zu beschreiben, aber mit Cufflinks können Sie es direkt zeichnen. Wie im folgenden Beispiel:
df = cf.datagen.lines()py.iplot([{ 'x':df.index, 'y':df [col], 'name':col } <strong>for</strong> col <strong>in</strong> df.columns])
mit plotly
df.iplot(kind= 'scatter')
mit Manschettenknöpfen
Manschettenknöpfe erleichtern die Erstellung von Diagrammen. Sie können Manschettenknöpfe sogar verwenden, um atemberaubende 3D-Diagramme zu erstellen. Ich habe das folgende 3D-Diagramm mit nur wenigen Codezeilen generiert.
Mit Manschettenknöpfen erstelltes 3D-Diagramm
Sie können es jederzeit im Jupyter Notebook ausprobieren.
– Kurztipp:
In der Konfiguration festlegen:
c.NotebookApp.iopub_data_rate_limit = 1.0e10
Importieren Sie wie folgt:
import plotly.graph_objs as go import plotly.plotly as py import cufflinks as cf from plotly.offline import iplot,init_notebook_mode cf.go_offline() #Set global theme cf.set_config_file(world_readable = True,theme ='pearl',offline = True ) init_notebook_mode()
Als nächstes werde ich über eine andere Götterbibliothek sprechen – nämlich Bibliothek.
Folium
Folium basiert auf den Datenvorteilen des Python-Ökosystems und den Mapping-Vorteilen der Leaflet.js-Bibliothek. Sie können die Daten in Python bearbeiten und sie dann über Folium in einer Leaflet-Karte visualisieren. Folium ist eine „magische Bibliothek“ zur Kartierung räumlicher Daten. Sie können Folium auch zum Erstellen von Heatmaps und Choroplethendiagrammen verwenden. Lassen Sie uns etwas über Folium lernen:
Eine Karte wird als folium.Map-Objekt definiert, und andere Folium-Objekte können über dem Folium hinzugefügt werden.
Sie können verschiedene Kartenebenen für Folium-gerenderte Karten wie MapBox, OpenStreetMap und mehrere andere verwenden. Sie können diesen Github-Repository-Ordner oder diese Dokumentationsseite überprüfen.
Sie können auch verschiedene Kartenprojektionen auswählen. Es stehen viele Projektionen zur Auswahl.
Lassen Sie uns eine Choropleth-Karte mit dem US Unemployment Geojson erstellen. Hier ist der Ausschnitt:
map = folium.Map([43, -100], zoom_start=4) choropleth = folium.Choropleth( geo_data=us_states, data=state_data, columns=['State', 'Unemployment'], key_on='feature.id', fill_color='YlGn', name='Unenployment', show=<strong>False</strong>,).add_to(m) <em> # 底层的GeoJson和StepColormap对象是可访问的 </em> print(type(choropleth.geojson)) print(type(choropleth.color_scale)) folium.LayerControl(collapsed=<strong>False</strong>).add_to(m) map.save(os.path.join('results', 'GeoChoro.html')) map
Dies ist nur eine einfache Karte, Sie können Markierungen, Popups und mehr hinzufügen. Es kann sich dabei um die von Leaflet und Folium unten generierte Karte handeln.
Altair + Vega
Altair是一个声明性统计可视化库,基于Vega和Vega-Lite。
声明意味着只需要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其余的绘图细节它会自动处理。声明使Altair变得简单,友好和一致。使用Altair可以轻松设计出有效且美观的可视化代码。
Altair使您能够使用强大而简洁的可视化语法快速开发各种统计可视化图表。如果您使用的是Jupyter Notebook,则需要按以下方式安装它。它还包括一些示例vega数据集。
pip install -U altair vega_datasets notebook vega
Altair主要依赖Vega,为了使图表在屏幕上可见,你需要安装Vega,并且还需要为每个新会话运行此命令:
alt.renderers.enable(‘notebook’)
Altair中的数据是围绕Pandas Dataframe构建的。统计可视化最明显的特征是以整洁的Dataframes开始。您还可以将绘图另存为图像或在vega编辑器中打开它以获得更多选项。Altair可能不是最好的,但绝对值得一试。
下面这个例子,我使用了汽车数据集;
import altair as altfrom vega_datasets import datasource = data.cars() brush = alt.selection(type='interval') points = alt.Chart().mark_point().encode( x='Horsepower:Q', y='Miles_per_Gallon:Q', color=alt.condition(brush, 'Origin:N', alt.value('lightgray'))).add_selection( brush) bars = alt.Chart().mark_bar().encode( y='Origin:N', color='Origin:N', x='count(Origin):Q').transform_filter( brush) alt.vconcat(points, bars, data=source)
Altair和Vega生成的分散图和直方图
D3.js(数据驱动文档DDD)
D3.js是一个JavaScript库,根据数据操作文档。您可以使用HTML,SVG和CSS将数据变成活灵活现的图表。D3并不要求您将自己绑定到任何专有框架,因为现代浏览器拥有D3所需的一切,它还用于组合强大的可视化组件和数据驱动的DOM操作方法。
D3.js是目前市场上最好的数据可视化库。 您可以将它与python一起使用,也可以与R一起使用。最初,它可以与JavaScript一起使用,因为JS具有广泛的功能并且需要大量的学习和经验,但是如果你是JS专业人员则不需要犹豫。虽然 Python 和 R 使D3.js变得更简单,但只是一点点!总之D3.js是绝对不会错的上佳之选。
D3py有3个主要依赖项:
NumPy
Pandas
NetworkX
我建议你使用JavaScript或R,而不是python,因为版本已经过时,最后一次更新是在2016年。而且只是D3.js的一个瘦的python包装器。
R提供D3可视化接口。使用 r2d3 ,您可以将数据从R绑定到D3可视化。使用 r2d3 创建的D3可视化就像RStudio,R Markdown文档和Shiny应用程序中的R图一样工作。您可以按如下方式从CRAN 安装 r2d3 软件包:
install.packages(“r2d3”)
你可以做一些惊人的可视化,例如下面这几个:
Sequences Sunburst — Kerry Rodden’s Block (Source)
Das obige ist der detaillierte Inhalt vonVon Bronze bis King, fünf Python-Bibliotheken für erweiterte Datenvisualisierung 2.0!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!