Detaillierte grafische Erklärung, wie man Python zum Zeichnen dynamischer Visualisierungsdiagramme verwendet

WBOY
Freigeben: 2022-05-24 21:08:00
nach vorne
3362 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über Python, das hauptsächlich Probleme im Zusammenhang mit dem Zeichnen dynamischer Visualisierungssymbole behandelt. Mit der Plotly-Grafikbibliothek können Sie mühelos einen Blick auf das Diagramm unten werfen es wird für alle hilfreich sein.

Detaillierte grafische Erklärung, wie man Python zum Zeichnen dynamischer Visualisierungsdiagramme verwendet

Empfohlenes Lernen: Python-Video-Tutorial

Geschichtenerzählen ist eine entscheidende Fähigkeit für Datenwissenschaftler. Um unsere Ideen auszudrücken und andere zu überzeugen, müssen wir effektiv kommunizieren. Und schöne Visualisierungen sind ein großartiges Werkzeug für diese Aufgabe.

In diesem Artikel werden 5 nicht-traditionelle Visualisierungstechniken vorgestellt, die Ihre Datengeschichten schöner und effektiver machen können. Hier wird die Plotly-Grafikbibliothek von Python verwendet, mit der Sie mühelos animierte Diagramme und interaktive Diagramme erstellen können.

Installieren Sie das Modul

Wenn Sie Plotly noch nicht installiert haben, führen Sie einfach den folgenden Befehl in Ihrem Terminal aus, um die Installation abzuschließen:

pip install plotly
Nach dem Login kopieren

Dynamische Diagramme visualisieren

Während Sie die Entwicklung dieses oder jenes studieren Indikator, wir Zeitdaten sind oft beteiligt. Mit dem Plotly-Animationstool können Benutzer mit nur einer Codezeile beobachten, wie sich Daten im Laufe der Zeit ändern, wie unten gezeigt:

Der Code lautet wie folgt:

import plotly.express as px
from vega_datasets import data
df = data.disasters()
df = df[df.Year > 1990]
fig = px.bar(df,
             y="Entity",
             x="Deaths",
             animation_frame="Year",
             orientation='h',
             range_x=[0, df.Deaths.max()],
             color="Entity")
# improve aesthetics (size, grids etc.)
fig.update_layout(width=1000,
                  height=800,
                  xaxis_showgrid=False,
                  yaxis_showgrid=False,
                  paper_bgcolor='rgba(0,0,0,0)',
                  plot_bgcolor='rgba(0,0,0,0)',
                  title_text='Evolution of Natural Disasters',
                  showlegend=False)
fig.update_xaxes(title_text='Number of Deaths')
fig.update_yaxes(title_text='')
fig.show()
Nach dem Login kopieren

Solange Sie also eine Zeitvariable zum Filtern haben Fast jedes Diagramm ist für die Animation geeignet. Hier ist ein Beispiel für die Animation eines Streudiagramms:

import plotly.express as px
df = px.data.gapminder()
fig = px.scatter(
    df,
    x="gdpPercap",
    y="lifeExp",
    animation_frame="year",
    size="pop",
    color="continent",
    hover_name="country",
    log_x=True,
    size_max=55,
    range_x=[100, 100000],
    range_y=[25, 90],
    #   color_continuous_scale=px.colors.sequential.Emrld
)
fig.update_layout(width=1000,
                  height=800,
                  xaxis_showgrid=False,
                  yaxis_showgrid=False,
                  paper_bgcolor='rgba(0,0,0,0)',
                  plot_bgcolor='rgba(0,0,0,0)')
Nach dem Login kopieren

Sunburst-Diagramm

Ein Sunburst-Diagramm ist eine großartige Möglichkeit, Gruppierungsaussagen zu visualisieren. Wenn Sie eine bestimmte Größe nach einer oder mehreren kategorialen Variablen aufschlüsseln möchten, verwenden Sie ein Sonnendiagramm.

Angenommen, wir möchten die durchschnittlichen Trinkgelddaten nach Geschlecht und Tageszeit aufschlüsseln, dann kann diese doppelte Gruppierung nach Aussage durch Visualisierung im Vergleich zu einer Tabelle effektiver dargestellt werden.

Dieses Diagramm ist interaktiv, sodass Sie die Kategorien selbst anklicken und erkunden können. Sie müssen lediglich alle Ihre Kategorien definieren, die Hierarchie zwischen ihnen deklarieren (siehe den Parent-Parameter im Code unten) und die entsprechenden Werte zuweisen, was in unserem Fall die Ausgabe der Group by-Anweisung ist.

import plotly.graph_objects as go
import plotly.express as px
import numpy as np
import pandas as pd
df = px.data.tips()
fig = go.Figure(go.Sunburst(
    labels=["Female", "Male", "Dinner", "Lunch", 'Dinner ', 'Lunch '],
    parents=["", "", "Female", "Female", 'Male', 'Male'],
    values=np.append(
        df.groupby('sex').tip.mean().values,
        df.groupby(['sex', 'time']).tip.mean().values),
    marker=dict(colors=px.colors.sequential.Emrld)),
                layout=go.Layout(paper_bgcolor='rgba(0,0,0,0)',
                                 plot_bgcolor='rgba(0,0,0,0)'))
fig.update_layout(margin=dict(t=0, l=0, r=0, b=0),
                  title_text='Tipping Habbits Per Gender, Time and Day')
fig.show()
Nach dem Login kopieren

Jetzt fügen wir dieser Hierarchie eine weitere Ebene hinzu:

Dazu fügen wir die Werte einer weiteren Gruppe per Anweisung mit drei kategorialen Variablen hinzu.

import plotly.graph_objects as go
import plotly.express as px
import pandas as pd
import numpy as np
df = px.data.tips()
fig = go.Figure(go.Sunburst(labels=[
    "Female", "Male", "Dinner", "Lunch", 'Dinner ', 'Lunch ', 'Fri', 'Sat',
    'Sun', 'Thu', 'Fri ', 'Thu ', 'Fri  ', 'Sat  ', 'Sun  ', 'Fri   ', 'Thu   '
],
                            parents=[
                                "", "", "Female", "Female", 'Male', 'Male',
                                'Dinner', 'Dinner', 'Dinner', 'Dinner',
                                'Lunch', 'Lunch', 'Dinner ', 'Dinner ',
                                'Dinner ', 'Lunch ', 'Lunch '
                            ],
                            values=np.append(
                                np.append(
                                    df.groupby('sex').tip.mean().values,
                                    df.groupby(['sex',
                                                'time']).tip.mean().values,
                                ),
                                df.groupby(['sex', 'time',
                                            'day']).tip.mean().values),
                            marker=dict(colors=px.colors.sequential.Emrld)),
                layout=go.Layout(paper_bgcolor='rgba(0,0,0,0)',
                                 plot_bgcolor='rgba(0,0,0,0)'))
fig.update_layout(margin=dict(t=0, l=0, r=0, b=0),
                  title_text='Tipping Habbits Per Gender, Time and Day')

fig.show()
Nach dem Login kopieren

Zeigerdiagramme

Zeigerdiagramme dienen nur der Optik. Verwenden Sie diese Art von Diagramm, wenn Sie über Erfolgskennzahlen wie KPIs berichten und zeigen, wie nah diese an Ihren Zielen liegen.

import plotly.graph_objects as go
fig = go.Figure(go.Indicator(
    domain = {'x': [0, 1], 'y': [0, 1]},
    value = 4.3,
    mode = "gauge+number+delta",
    title = {'text': "Success Metric"},
    delta = {'reference': 3.9},
    gauge = {'bar': {'color': "lightgreen"},
        'axis': {'range': [None, 5]},
             'steps' : [
                 {'range': [0, 2.5], 'color': "lightgray"},
                 {'range': [2.5, 4], 'color': "gray"}],
          }))
fig.show()
Nach dem Login kopieren

Sankey-Diagramm

Eine weitere Möglichkeit, die Beziehung zwischen kategorialen Variablen zu untersuchen, ist ein Parallelkoordinatendiagramm wie das folgende. Sie können Werte jederzeit per Drag & Drop markieren, markieren und durchsuchen, ideal für Präsentationen.

Der Code lautet wie folgt:

import plotly.express as px
from vega_datasets import data
import pandas as pd
df = data.movies()
df = df.dropna()
df['Genre_id'] = df.Major_Genre.factorize()[0]
fig = px.parallel_categories(
    df,
    dimensions=['MPAA_Rating', 'Creative_Type', 'Major_Genre'],
    color="Genre_id",
    color_continuous_scale=px.colors.sequential.Emrld,
)
fig.show()
Nach dem Login kopieren

Parallelkoordinatendiagramm

Parallelkoordinatendiagramm ist eine Ableitung des obigen Diagramms. Hier stellt jede Zeichenfolge eine einzelne Beobachtung dar. Dies ist eine Methode, mit der Ausreißer (einzelne Linien, die weit vom Rest der Daten entfernt sind), Cluster, Trends und redundante Variablen (z. B. wenn zwei Variablen bei jeder Beobachtung ähnliche Werte haben) identifiziert werden können wird auf derselben horizontalen Linie liegen, ein nützliches Hilfsmittel, um das Vorhandensein von Redundanz anzuzeigen.

Der Code lautet wie folgt:

import plotly.express as px
from vega_datasets import data
import pandas as pd
df = data.movies()
df = df.dropna()
df['Genre_id'] = df.Major_Genre.factorize()[0]
fig = px.parallel_coordinates(
    df,
    dimensions=[
        'IMDB_Rating', 'IMDB_Votes', 'Production_Budget', 'Running_Time_min',
        'US_Gross', 'Worldwide_Gross', 'US_DVD_Sales'
    ],
    color='IMDB_Rating',
    color_continuous_scale=px.colors.sequential.Emrld)
fig.show()
Nach dem Login kopieren

Empfohlenes Lernen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte grafische Erklärung, wie man Python zum Zeichnen dynamischer Visualisierungsdiagramme verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage