प्लॉटली - सबप्लॉट्स और इनसेट प्लॉट्स
यहां, हम प्लॉटली में सबप्लॉट्स और इनसेट प्लॉट्स की अवधारणा को समझेंगे।
सबप्लॉट बनाना
कभी-कभी डेटा साइड के विभिन्न विचारों की तुलना करना मददगार होता है। यह सबप्लॉट्स की अवधारणा का समर्थन करता है। यह ऑफरmake_subplots() में कार्य करते हैं plotly.tools module। फ़ंक्शन एक चित्रा ऑब्जेक्ट लौटाता है।
निम्न कथन एक पंक्ति में दो सबप्लॉट बनाता है।
fig = tools.make_subplots(rows = 1, cols = 2)
अब हम दो अलग-अलग निशान (ऊपर के उदाहरण में एक्सप और लॉग के निशान) जोड़ सकते हैं।
fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 1, 2)
आंकड़ा का लेआउट आगे निर्दिष्ट करके कॉन्फ़िगर किया गया है title, width, height, आदि का उपयोग कर update() तरीका।
fig['layout'].update(height = 600, width = 800s, title = 'subplots')
यहां देखें पूरी स्क्रिप्ट -
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)
यह आपके प्लॉट ग्रिड का प्रारूप है: [(1,1) X1, y1] [(1,2) x2, y2]
इनसेट प्लॉट
एक सबप्लॉट को इनसेट के रूप में प्रदर्शित करने के लिए, हमें इसकी ट्रेस ऑब्जेक्ट को कॉन्फ़िगर करने की आवश्यकता है। पहलेxaxis और इनसेट ट्रेस के yaxis गुण ‘x2’ तथा ‘y2’क्रमशः। निम्नलिखित कथन डालता है‘log’ इनसेट में ट्रेस।
trace2 = go.Scatter(
x = x,
y = y2,
xaxis = 'x2',
yaxis = 'y2',
name = 'log'
)
दूसरे, लेआउट ऑब्जेक्ट को कॉन्फ़िगर करें जहां इनसेट के x और y अक्षों का स्थान परिभाषित किया गया है domain जो संपत्ति निर्दिष्ट करता है वह प्रमुख अक्ष से संबंधित स्थिति है।
xaxis2=dict(
domain = [0.1, 0.5],
anchor = 'y2'
),
yaxis2 = dict(
domain = [0.5, 0.9],
anchor = 'x2'
)
इनसेट में लॉग ट्रेस प्रदर्शित करने के लिए पूरी स्क्रिप्ट और मुख्य अक्ष पर एक्सप ट्रेस नीचे दी गई है -
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)
उत्पादन का उल्लेख नीचे दिया गया है -