Tracé - Sous-graphiques et graphiques en médaillon
Ici, nous allons comprendre le concept de sous-graphiques et de graphiques en médaillon dans Plotly.
Créer des sous-graphiques
Parfois, il est utile de comparer différentes vues des données côte à côte. Cela prend en charge le concept de sous-parcelles. CA offremake_subplots() fonction dans plotly.tools module. La fonction renvoie un objet Figure.
L'instruction suivante crée deux sous-graphiques sur une ligne.
fig = tools.make_subplots(rows = 1, cols = 2)
Nous pouvons maintenant ajouter deux traces différentes (les traces exp et log dans l'exemple ci-dessus) à la figure.
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 1, 2)
La disposition de la figure est en outre configurée en spécifiant title, width, height, etc. en utilisant update() méthode.
fig['layout'].update(height = 600, width = 800s, title = 'subplots')
Voici le script complet -
from plotly import tools
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected = True)
import numpy as np
x = np.arange(1,11)
y1 = np.exp(x)
y2 = np.log(x)
trace1 = go.Scatter(
x = x,
y = y1,
name = 'exp'
)
trace2 = go.Scatter(
x = x,
y = y2,
name = 'log'
)
fig = tools.make_subplots(rows = 1, cols = 2)
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 1, 2)
fig['layout'].update(height = 600, width = 800, title = 'subplot')
iplot(fig)
Voici le format de votre grille de tracé: [(1,1) x1, y1] [(1,2) x2, y2]
Graphiques en médaillon
Pour afficher un sous-tracé en tant qu'encart, nous devons configurer son objet trace. Premièrement lexaxis et les propriétés de l'axe y de la trace incrustée ‘x2’ et ‘y2’respectivement. La déclaration suivante met‘log’ trace dans l'encart.
trace2 = go.Scatter(
x = x,
y = y2,
xaxis = 'x2',
yaxis = 'y2',
name = 'log'
)
Deuxièmement, configurez l'objet Layout où l'emplacement des axes x et y de l'encart est défini par domain propriété qui spécifie sa position par rapport à l'axe principal.
xaxis2=dict(
domain = [0.1, 0.5],
anchor = 'y2'
),
yaxis2 = dict(
domain = [0.5, 0.9],
anchor = 'x2'
)
Le script complet pour afficher la trace du journal dans l'encart et la trace exp sur l'axe principal est donné ci-dessous -
trace1 = go.Scatter(
x = x,
y = y1,
name = 'exp'
)
trace2 = go.Scatter(
x = x,
y = y2,
xaxis = 'x2',
yaxis = 'y2',
name = 'log'
)
data = [trace1, trace2]
layout = go.Layout(
yaxis = dict(showline = True),
xaxis2 = dict(
domain = [0.1, 0.5],
anchor = 'y2'
),
yaxis2 = dict(
showline = True,
domain = [0.5, 0.9],
anchor = 'x2'
)
)
fig = go.Figure(data=data, layout=layout)
iplot(fig)
La sortie est mentionnée ci-dessous -