python==3.8 plotly==4.10.0
Ich muss nicht mehr über Kreisgraphen erklären
import plotly.express as px
df = px.data.tips()
fig = px.pie(df, values='tip', names='day',
title='pie plot with PX')
fig.show()
import plotly.graph_objects as go
df = px.data.tips()
fig = go.Figure(data=[go.Pie(labels=df['day'],
values=df['tip'])])
fig.update_traces(hoverinfo='label+percent',
textinfo='value',
textfont_size=20,
marker=dict(line=dict(width=2)))
fig.show()
import plotly.graph_objects as go
fig = go.Figure(data=[go.Pie(labels=df['day'],
values=df['tip'],
hole=.3)
])
fig.update_traces(hoverinfo='label+percent',
textinfo='value',
textfont_size=20,
marker=dict(line=dict(width=2)))
fig.show()
Geben Sie in der Reihenfolge an, die als übergeordnetes Element im Pfad angegeben ist Die Größe des Wertes wird durch Werte angegeben
import plotly.express as px
df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time', 'sex'], values='total_bill')
fig.show()
Außerdem wird die Größe des Werts farblich gekennzeichnet
import plotly.express as px
df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time', 'sex'], values='total_bill',color='total_bill')
fig.show()
import plotly.express as px
df = px.data.tips()
fig = px.parallel_categories(df)
fig.show()
parallel_categories
Zählen Sie die kategorialen Variablen, um eine parallele Ansicht zu erstellen Geben Sie mit Farbe an, um zu visualisieren, welche Kategorie mit welcher Rate in anderen Variablen vorhanden ist
import plotly.express as px
df = px.data.tips()
fig = px.parallel_categories(df, color="size",
color_continuous_scale=px.colors.sequential.Inferno)
fig.show()
parallel_coordinates
Überprüfen Sie die Verteilung der kontinuierlichen Werte nacheinander Sie können visuell überprüfen, wo es viele gibt und wie stark sie variieren, anstatt ein Kohäsionsverhältnis.
import plotly.express as px
df = px.data.tips()
fig = px.parallel_coordinates(df, color="size",
dimensions=['total_bill', 'size', 'tip'],
color_continuous_midpoint=2)
fig.show()
Eine Grafik, die begann, als Mr. Sanky den Energiefluss visualisierte
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(
go.Sankey(
node = dict(pad = 15,thickness = 20,line = dict(color = "black", width = 0.5),
label = ["n0","n1","n2","n3","n4"],
color = "blue"),
link = dict(
source = [0,1,2,3],
target =[1,2,3,4],
value = [5,10,15,20])
)
)
fig.update_layout(title_text="Sankey Diagram", font_size=10)
fig.show()
Ein Pfeil wird von der in reeller Zahl eingegebenen Quelle zum Ziel gezogen, und die Dicke des Pfeils wird an den Wert übergeben Geben Sie nur die eindeutige Nummer in Quelle und Ziel für die Bezeichnung an Die angegebene Reihenfolge entspricht der Größe der Quell- und Zielnummern.
Wenn es sich um Daten handelt
Machen Sie einen Zustand wie Konvertieren Sie die zu übergebende Beziehung in einen numerischen Wert
Durch eine solche Vorbehandlung Welche Kategorie enthält wie viel Fluss Prozentsatz verteilt auf andere Kategorien Und so weiter
d1 = df.groupby(["sex","smoker"], as_index=False).sum()[["sex","smoker",'total_bill']]
d1.columns = ['sor','tar','total_bill']
d2 = df.groupby(["smoker","day"], as_index=False).sum()[["smoker","day",'total_bill']]
d2.columns = ['sor','tar','total_bill']
d3 = df.groupby(["day","time"], as_index=False).sum()[["day","time",'total_bill']]
d3.columns = ['sor','tar','total_bill']
concat_d = pd.concat([d1, d2, d3],axis=0, ignore_index=True)
label_list = pd.concat([concat_d['sor'],concat_d['tar']],axis=0).unique().astype('str')
for i in range(0,len(label_list)):
for j in range(0,len(concat_d['sor'])):
if concat_d['sor'].astype('str')[j]==label_list[i]:
concat_d['sor'][j]=i
if concat_d['tar'].astype('str')[j]==label_list[i]:
concat_d['tar'][j]=i
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(
go.Sankey(
node = dict(pad = 15,thickness = 20,line = dict(color = "black", width = 0.5),
label = label_list,
color = "blue"),
link = dict(
source = concat_d.sor,
target =concat_d.tar,
value = concat_d.total_bill)
)
)
fig.update_layout(title_text="Basic Sankey Diagram", font_size=10)
fig.show()
treemap
Drücken Sie das Verhältnis nach Fläche aus Verwendung von Ausgaben, Bestätigung der Bestandsquote usw.
import plotly.express as px
df = px.data.tips()
fig = px.treemap(df,
path=[px.Constant('back ground'),'sex','day','time'],
values='total_bill',
color='sex'
)
fig.show()
Verzweigen Sie in der Reihenfolge, die an den Pfad übergeben wurde Wenn Sie einen Hintergrund erstellen möchten, erstellen Sie einen beliebigen Hintergrund mit Konstante
Kann den Fortschritt des Verhältnisses ausdrücken Kann den Rückgang von der Anzeige der Website zum Kauf ausdrücken
from plotly import graph_objects as go
fig = go.Figure()
fig.add_trace(go.Funnel(
name = 'Montreal',
orientation = "h",
y = ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"],
x = [100, 60, 40, 20],
textposition = "inside",
texttemplate = "%{y| %a. %_d %b %Y}"))
fig.update_layout(yaxis = {'type': 'date'})
fig.show()
from plotly import graph_objects as go
fig = go.Figure()
fig.add_trace(go.Funnel(
name = 'Montreal',
orientation = "h",
y = ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"],
x = [100, 60, 40, 20],
textposition = "inside",
textinfo = "value+percent previous"))
fig.add_trace(go.Funnel(
name = 'Vancouver',
orientation = "h",
y = ["2018-01-01", "2018-07-01", "2019-01-01", "2020-01-01"],
x = [90, 70, 50, 10],
textposition = "inside",
textinfo = "value+percent previous"))
fig.add_trace(go.Funnel(
name = 'Toronto',
orientation = "h",
y = ["2018-01-01", "2018-07-01", "2019-01-01","2020-01-01","2021-01-01"],
x = [100, 60, 40,30, 20,10],
textposition = "inside",
textinfo = "value+percent previous"))
fig.update_layout(yaxis = {'type': 'date'})
fig.show()
Wenn die Textinformationen in Prozent angegeben sind, wird das Verhältnis mit dem Ganzen als 100 angezeigt
import plotly.express as px
fig = px.funnel_area(names=["The 1st","The 2nd", "The 3rd", "The 4th", "The 5th"],
values=[5, 4, 3, 2, 1],
color=[5, 3, 3, 3, 1])
fig.show()
Recommended Posts