Plotly - Unter- und Nebenplots
Hier werden wir das Konzept von Unterplots und Inset-Plots in Plotly verstehen.
Nebenhandlungen machen
Manchmal ist es hilfreich, verschiedene Ansichten von Daten nebeneinander zu vergleichen. Dies unterstützt das Konzept der Nebenhandlungen. Es bietetmake_subplots() Funktion in plotly.tools module. Die Funktion gibt ein Figure-Objekt zurück.
Die folgende Anweisung erstellt zwei Unterzeichnungen in einer Zeile.
fig = tools.make_subplots(rows = 1, cols = 2)
Wir können der Abbildung nun zwei verschiedene Traces hinzufügen (die Exp- und Log-Traces im obigen Beispiel).
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 1, 2)
Das Layout der Figur wird durch Angabe weiter konfiguriert title, width, height, usw. mit update() Methode.
fig['layout'].update(height = 600, width = 800s, title = 'subplots')
Hier ist das komplette Skript -
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)
Dies ist das Format Ihres Plotgitters: [(1,1) x1, y1] [(1,2) x2, y2]
Eingefügte Diagramme
Um ein Unterdiagramm als Einschub anzuzeigen, müssen wir sein Ablaufverfolgungsobjekt konfigurieren. Zuerst diexaxis und Yaxis-Eigenschaften der Einschubspur zu ‘x2’ und ‘y2’beziehungsweise. Folgende Aussage setzt‘log’ Spur im Einschub.
trace2 = go.Scatter(
x = x,
y = y2,
xaxis = 'x2',
yaxis = 'y2',
name = 'log'
)
Konfigurieren Sie zweitens das Layout-Objekt, bei dem die Position der x- und y-Achse des Einschubs durch definiert ist domain Die angegebene Eigenschaft ist die Position mit der jeweiligen Hauptachse.
xaxis2=dict(
domain = [0.1, 0.5],
anchor = 'y2'
),
yaxis2 = dict(
domain = [0.5, 0.9],
anchor = 'x2'
)
Das vollständige Skript zum Anzeigen der Protokollablaufverfolgung im Einschub und der Exp-Ablaufverfolgung auf der Hauptachse finden Sie unten -
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)
Die Ausgabe wird unten erwähnt -