python==3.8 plotly==4.10.0
Je n'ai plus besoin d'expliquer les graphiques circulaires
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()
Spécifiez dans l'ordre spécifié comme parent dans le chemin La taille de la valeur est spécifiée par des valeurs
import plotly.express as px
df = px.data.tips()
fig = px.sunburst(df, path=['day', 'time', 'sex'], values='total_bill')
fig.show()
Il code également en couleur la taille de la valeur
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
Comptez les variables catégorielles pour créer une vue parallèle Spécifiez avec la couleur pour visualiser quelle catégorie existe dans d'autres variables à quelle vitesse
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
Vérifier la distribution des valeurs continues une par une Vous pouvez vérifier visuellement où il y en a et dans quelle mesure ils varient, plutôt qu'un rapport cohérent.
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()
Un graphique qui a commencé lorsque M. Sanky a visualisé le flux d'énergie
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()
Une flèche est dessinée à partir de la source saisie sous forme de nombre réel vers la cible et l'épaisseur de la flèche est transmise à la valeur. Spécifiez uniquement le numéro unique dans la source et la cible pour l'étiquette L'ordre spécifié correspond à la taille des numéros source et cible.
Si c'est sous forme de données
Faire un état comme Convertir la relation à transmettre en une valeur numérique
En faisant un tel prétraitement, Quelle catégorie contient le débit Pourcentage distribué à d'autres catégories Etc
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
Exprimer le ratio par zone Utilisation des dépenses, confirmation du ratio de stock, etc.
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()
Branche dans l'ordre passé au chemin Si vous voulez créer un arrière-plan, créez-en un arbitraire avec une constante
Peut exprimer la progression du ratio Peut exprimer le refus de la consultation du site Web à l'achat
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()
Si les informations textuelles correspondent au pourcentage total, le rapport affiche le total à 100
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